如何在maven构建中激活JPAMetaModelEntity处理器注释处理器时使用Lombok。
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)中,元模型对象被正确地生成,但似乎Lombok注释处理器不再添加到Javac编译中。所有@Getter,@Setter,。。。不起作用。
如果@Pierrick不完全正确,则解决方案是。您必须切换处理器的顺序。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<processor>
lombok.launch.AnnotationProcessorHider$AnnotationProcessor,org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor
</processor>
</compilerArguments>
</configuration>
</plugin>
@Pierrick的解决方案是正确的。但我可以提供这个解决方案。因为我们可以用它添加许多处理器。
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-jpamodelgen</artifactId>
<version>5.4.1.Final</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
在研究了龙目岛项目后,我找到了一个解决方案。
当将JPAMetaModelEntityProcessor指定为javac注释处理器时,lombok处理器似乎被删除了。
要纠正这一点,我们只需在maven编译器插件中添加Lombok注释处理器:
[...]
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<compilerArguments>
<processor>org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor,lombok.launch.AnnotationProcessorHider$AnnotationProcessor</processor>
</compilerArguments>
</configuration>
</plugin>
[...]
问题内容: 我知道反对Java中的预处理器和宏的所有哲学观点。我不同意仅仅因为某些人可能滥用某种语言功能,就应该将其排除在所有人之外。 我想在Java和Scala代码中包含和宏,以进行有效的日志记录。由于对运行时性能的影响,对Exception的任何使用都是不可接受的。那些认为可以在“生产代码”中关闭日志记录的人应该留意Brian Kernighan的建议: 删除错误消息“现在程序正在运行”,就像
本文向大家介绍什么是耦合和凝聚力?相关面试题,主要包含被问及什么是耦合和凝聚力?时的应答技巧和注意事项,需要的朋友参考一下 组件之间依赖关系强度的度量被认为是耦合。一个好的设计总是被认为具有高内聚力和低耦合性。 面试官经常会问起凝聚力。它也是另一个测量单位。更像是一个模块内部的元素保持结合的程度。 必须记住,设计微服务的一个重要关键是低耦合和高内聚的组合。当低耦合时,服务对其他服务的依赖很少。这样
我在WSO2 Esb上工作了几个月,现在我需要使用迭代器中介器拆分传入的消息,将每个部分发送到一个endpoint,并使用聚合中介器收集答案。类似于这样: 它工作正常,但是,正如您所看到的,我在聚合器上定义了一个超时,这样超时中的消息就不会被“聚合”,而是会被“重定向”到故障序列。一般来说,任何发送到故障序列的消息都会“错过”聚合器,所以问题是:有什么方法可以将答案和错误聚合在一个消息中? “B计
我喜欢使用Lombok,但它需要在IDEs设置中启用注释处理器。因为开发人员使用不同的IDE,CI/CD有自己的编译流程,而且我真的不想解释初级开发人员为什么需要选中此复选框,我正在寻找一种方法来避免选中此复选框。理想的情况下,我想让一个年轻人来运行git clone,然后/格拉德卢跑。Gradle是否可以完全设置注释处理器(无需手动单击)? 如果它能在比IntelliJ IDEA更多的地方工作,
在我的spring批处理代码中,我正在读取一个csv文件,将其处理成一个bean,并尝试用Writer中的值获取该bean。但我无法在Writer中找到豆子。是包含csv文件中的值的bean,我正试图在Writer中获取这些值。我还将bean初始化为一个公共变量,希望它能由读取器、处理器和写入器处理。甚至在之前使用了和注释。请帮我解决这个问题。下面是我的代码,
所以基本上我有会计课。我有数据。我想将这些对象发送到我与生产者的主题中。现在没关系。稍后,我想使用 Kafka 流进行聚合,但我不能,因为某些 Serde 属性在我的配置中是错误的,我认为 :/。我不知道错误在哪里。我的制作人工作正常,但我无法聚合。有人帮我查看我的 kafka 流代码吗?我的帐户类: 我的Account类有两个类Serializer和Deserializer。序列化程序: 反序列