使用与Lombok的Maven冲突将编年史队列添加到项目中

问题描述 投票:0回答:1

我在没有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>

Image Here

关于解决方案的任何想法?谢谢。

eclipse lombok chronicle-queue
1个回答
0
投票

我认为问题是chronicle-queue的可传递依赖项在java.lang程序包中有一些类,现在不再允许。

基本上,您必须排除net.openhft:affinity软件包。类似于:

Maven代码段

    <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时遇到了相同的问题,但我相信是出于同样的原因,所以我还是要发布。

© www.soinside.com 2019 - 2024. All rights reserved.