2

我刚刚开始使用 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 控制台告诉我资源已成功复制,所以我认为这部分不是问题。

有任何想法吗?

4

3 回答 3

2

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

<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 文件夹中。

于 2014-08-26T12:31:47.170 回答
1

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

于 2014-08-27T06:57:06.237 回答
0

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

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

于 2015-01-30T09:57:58.650 回答