编程语言
首页 > 编程语言> > Maven:如何在.jar中包含注释生成的.java文件

Maven:如何在.jar中包含注释生成的.java文件

作者:互联网

我的类路径上有一些Java 7注释处理器(用于xtend).通过一些注释,他们创建了Java文件.
在Elipse和Maven构建中,这都很好用.

生成的文件按预期以目标/生成源/注释结尾.
相应的生成的.class文件也会在预期的位置结束,因此它们是最终jar文件的一部分.

由于我还需要将所有Java源文件包括在GWT的.jar文件中(源和类应该只有一个.jar文件),
我已将src / main / java指定为资源目录(以便Maven将文件复制到类目录中,并最终保存在jar文件中).

resources目录中的技巧实际上不适用于我生成的文件,因为Maven首先复制所有资源,然后开始编译(这反过来将通过注释处理器生成.java文件).

我如何告诉Maven复制也在.jar中包含生成的.java文件?

解决方法:

您可以将maven-resources-plugin绑定到prepare-package阶段,以在正确打包之前复制注释源:

<build>
  <plugins>
    <plugin>
      <artifactId>maven-resources-plugin</artifactId>
      <executions>
        <execution>
          <id>copy-annotations</id>
          <phase>prepare-package</phase>
          <goals>
            <goal>copy-resources</goal>
          </goals>
          <configuration>
            <resources>
              <resource>
                <directory>target/generated-sources/annotations</directory>
              </resource>
            </resources>
          </configuration>
        </execution>
      </executions>
    </plugin>
   </plugins>
</build>
    ...

希望对您有所帮助.

干杯,

标签:maven,xtend,java,gwt
来源: https://codeday.me/bug/20191122/2060370.html