[英]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.