当前位置: 首页 > 知识库问答 >
问题:

使用Maven与Lombok冲突向项目添加编年史队列

秦联
2023-03-14

我在一个没有Lombok的项目中使用了Chronicle队列。一切都很好。然后我尝试在一个具有Lombok依赖项的项目中使用相同的Maven依赖项。但这次它崩溃了。我在我的AllLombokGetter和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>

图像在这里

有什么解决办法吗?谢谢

共有1个答案

周涵畅
2023-03-14

问题是,我认为,Chronicle-队列的传递依赖在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>

另外,从技术上讲,我们在编年史地图而不是编年史队列上遇到了同样的问题,但我相信这也是出于同样的原因,所以我还是要发布。

 类似资料:
  • 我有一个具有以下依赖项的GWT项目 > Gin 2.1.2依赖于guice 3.0,而owlapi 4.0.2依赖于guice 4.0-beta。 gin在客户端使用,而owlapi在服务器端使用。 我有什么办法才能让这件事成功?我是否可以在保留正常运行的GWT devmode的同时使用依赖关系范围?

  • 编年史队列doco指定可以在不同的盒子上有编年史接收器,事件通过网络从单个编年史队列分发到它。(http://chronicle.software/products/chronicle-queue/)

  • 我有一个web服务器(比如tomcat),它为http请求服务 每个请求处理都可能生成一些跟踪信息。 我将把这些跟踪信息写入编年史队列(以字节[]为单位,我将自己进行编组/解编组,就像使用protobuf一样) 我将有一个专用的线程来使用裁剪器从编年史队列中读取。每个消息将只处理一次,如果失败,我将使用自己的重试策略将其放回队列以允许下次尝试。 基于以上用例,我有以下问题: > 应该使用多少追加器