繁体   English   中英

添加META-INF / services目录时jar中没有.class文件

[英]No .class file in the jar when adding a META-INF/services directory

我刚刚开始使用Maven,但在创建所有类的JAR时遇到了麻烦。 实际上,我必须包含位于WEB-INF/services/javax.annotation.processing.Processor

我已经针对此问题测试了不同的问题,并且似乎在删除/services目录时,JAR包含了所有.class文件。

我读到它可能是错误的Maven文件夹结构,但是仅当我具有services目录时才会出现问题。

这是我使用资源的pom.xml文件的摘录:

<resource>
    <directory>${myRessources}</directory>
        <includes>
            <include>META-INF/**/*</include>
         </includes>
</resource>

Maven控制台告诉我资源已成功复制,因此我认为这不是问题。

有任何想法吗?

嘿,你想使用这样的东西:

<build>
  <sourceDirectory>src/main/java (or your .java you want to compile)</sourceDirectory>
   <resources>
    <resource>
     <directory>src/main/resources/META-INF/</directory>
     <targetPath>META-INF</targetPath>
    </resource>
   </resources>
</build>

sourceDirectory告诉maven要编译的内容并将其放入目标文件夹(和jar中)。 然后,资源显示将所有内容都放在我的META-INF /文件夹中,并将其放在jar文件的META-INF文件夹中。

我研究并解决了问题:这是一个错误-> http://jira.codehaus.org/browse/MCOMPILER-97我添加了编译器选项-proc:none,现在可以正常使用了。 希望它对其他人有帮助!

说到* .jar或* .war文件,可以导致您找到解决方案的是,在创建存档文件之后,例如,使用WinRAR将其打开,然后检查其内容。

之后,您可以在pom.xml文件中包含必要的资源,如之前在此处所述。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM