加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – maven编译过程中未考虑的生成代码

发布时间:2020-12-15 08:42:43 所属栏目:Java 来源:网络整理
导读:我有一个maven项目在编译过程中从注释处理器生成一个新类.该类在/ target / generated-sources / annotations /中成功生成,但未编译到.jar中.为什么? plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-compiler-plugin/artifactId version2
我有一个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>

编辑

这似乎是一个众所周知的bug.如果有人有一个可操作的解决方法,欢迎.

编辑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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读