我的class-path上有一些java 7注释处理器(用于xtend)。通过一些注释,他们创建了java文件 这在Elipse和Maven构建中非常有用。
生成的文件按预期结束于target/generated-sources/annotations
相应的生成的.class
文件也会在预期的位置结束,因此是最终jar文件的一部分。
因为我需要在我的.jar
文件中包含所有java源文件(对于GWT,应该只有一个.jar
文件,包含和类的源代码),
我已将src/main/java
指定为资源目录(以便Maven将文件复制到类dir中,并最终放在jar文件中)。
资源目录的技巧对我生成的文件并不真正有效,因为Maven将首先复制所有资源,然后开始编译(这将通过注释处理器生成.java
文件。) / p>
如何告诉Maven复制还包括.java
中生成的.jar
个文件?
答案 0 :(得分:3)
您可以将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>
...
我希望有所帮助。
干杯,