作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如何使用Lombok当 JPAMetaModelEntityProcessor 注解处理器在 Maven 构建中被激活时。
Maven 配置:
[...]
<build>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor</processor>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.hibernate.javax.persistence</groupId>
<artifactId>hibernate-jpa-2.0-api</artifactId>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
[...]
在构建过程(mvn clean install)期间,MetaModel 对象被正确生成,但 Lombok Annotation 处理器似乎不再添加到 Javac 编译中。所有@Getter、@Setter、...都不起作用。
最佳答案
查看 lombok 项目后,我找到了解决方案。
当将 JPAMetaModelEntityProcessor 指定为 javac 注释处理器时,lombok 处理器似乎被移除了。
要纠正这个问题,我们可以简单地在 maven-compiler-plugin 中添加 Lombok 注解处理器:
[...]
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor,lombok.launch.AnnotationProcessorHider$AnnotationProcessor</processor>
</compilerArguments>
</configuration>
</plugin>
[...]
关于java - 如何将 lombok 和 JPAMetalModel 处理器与 maven 合并,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31805327/
我是一名优秀的程序员,十分优秀!