繁体   English   中英

使用 Java 11 和 Cassandra Spring Unit 可能与 lombok 和 gradle 一起使用 Eclipse 的问题

[英]Problem with Eclipse when using Java 11 and Cassandra Spring Unit possibly along with lombok and gradle

所以我遇到了一个项目的问题。 Eclipse 会说 java.util.* 有一个导入错误The package java.util is accessible from more than one module: <unnamed>, java.base

我挖了很多东西,似乎出于某种原因没有其他人真正遇到这个问题。 我们办公室的每个人都是。 他们告诉我 2018 年 Eclipse 的 RC 版本我认为 Sept 可以工作,但这是他们唯一可以让它工作的版本。我稍后会尝试发布真实版本。 所以我搜索了很多,然后开始使用包含的 gradle 文件。 并发现问题仅在我包含 Cassandra-unit-spring testCompile 要求时才存在,因此它只会在测试用例方面引起问题。

我的假设是,这在某种程度上是 eclipse 的一个错误,因为 gradle 本身没有问题。 以及intelij。 让我知道我还能在这里提供什么来进一步缩小范围。

Eclipse Build id: 20190917-1200
Eclipse with Lombok Lombok v1.18.10
Gradle 5.6.4
Oracle JDK 11.0.5
tried cassadnra-unit-spring versions 3.5.0.1 - 3.11.x
Also using spring boot 2.1.3.release

谢谢。

我已经排除了cassandra-unit所有(传递性)依赖项,并一一重新包含了它们。 最终,我发现库com.boundary:high-scale-lib ,即org.apache.cassandra:cassandra-all包含的传递依赖项,负责导入错误。

不支持 Java 9+,因为它使用 java.base 包名称,即 java.util。 这是不允许的 不幸的是,您不能排除这种传递依赖,因为它是必需的。

我发现Eclipse 4.10的发行版并未指示使用该库的项目中的错误。 这可能是较新的 Eclipse 版本中的 UI 错误,因为我可以使用 Gradle 编译和构建我的应用程序而不会出现任何错误。

你可以试试这个 Eclipse 版本。

非常感谢辛科斯坦的辛勤工作

因此,根据您提供的信息,如果您在 build.gradle 文件中包含这样的 cassandra 单元测试

  testImplementation ('org.cassandraunit:cassandra-unit-spring:3.11.2.0') {
    exclude module: 'high-scale-lib'
  }

这允许它在我的情况下工作。 您当然需要使用您自己的版本等。目前是 Gradle 6.3。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM