我在没有Lombok的项目中使用了编年史队列。一切都很好。然后,我尝试在具有Lombok依赖关系的项目中使用相同的Maven依赖关系。但是这次崩溃了。我在所有的Lombok Getter和Setter批注中看到以下错误。
The package java.lang is accessible from more than one module: <unnamed>, java.base
我可以运行该项目。但是Eclipse在使用Lombok批注的类中显示红色警告。这是我的编年史队列依赖项。
<!-- https://mvnrepository.com/artifact/net.openhft/chronicle-queue -->
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-queue</artifactId>
<version>5.17.22</version>
</dependency>
关于解决方案的任何想法?谢谢。
我认为问题是chronicle-queue
的可传递依赖项在java.lang
程序包中有一些类,现在不再允许。
基本上,您必须排除net.openhft:affinity
软件包。类似于:
<dependency>
<groupId>net.openhft</groupId>
<artifactId>chronicle-queue</artifactId>
<version>5.17.22</version>
<exclusions>
<exclusion>
<groupId>net.openhft</groupId>
<artifactId>affinity</artifactId>
</exclusion>
</exclusions>
</dependency>
P.S。从技术上讲,我们在使用chronicle-map
而不是chronicle-queue
时遇到了相同的问题,但我相信是出于同样的原因,所以我还是要发布。