[英]Generated code not taken into account in maven compile process
我有一个maven项目在编译过程中从注释处理器生成一个新类。 该类在/target/generated-sources/annotations/
成功生成,但未编译到.jar
。 为什么?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${project.build.source}</source>
<target>${project.build.target}</target>
<encoding>${project.build.sourceEncoding}</encoding>
<compilerArgument>-Xlint</compilerArgument>
<annotationProcessors>
<annotationProcessor>net.preprocessing.MyAnnotationProcessor</annotationProcessor>
</annotationProcessors>
</configuration>
</plugin>
编辑
这似乎是一个已知的错误 。 如果有人有可操作的解决方法,欢迎。
编辑2
我昨天已经进行了一些测试,但是故障单中建议的解决方法不起作用。 我提供了一个测试用例。 如果有人知道如何解决这个问题,欢迎。 请记住,我是注释处理的新手,因此可能会有一些我不知道的东西。
我建议使用maven-processor-plugin而不是传递给maven编译器的'annotationProcessor'参数。
从我读过的内容来看,compilerArgumens似乎存在一些问题,当你使用maven-processor-plugin时会解决这些问题。
在这里您可以找到有关maven-processor-plugin的更多信息: http : //maven-annotation-plugin.googlecode.com/svn/docs/usage.html
下面是处理器插件如何替换compilerArguments的示例(该示例使用Hibernate Metamodel Generator,但对于所有类型的注释处理器,这看起来都是一样的......): http : //relation.to/Bloggers/HibernateStaticMetamodelGeneratorAnnotationProcessor
看来你所做的只是编译类而不是构建jar。 您需要使用Maven Jar插件这是一个用法示例 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.