【发布时间】:2019-01-28 16:41:40
【问题描述】:
今天早上我的项目遇到了一个新问题(周五运行良好)。 Eclipse 似乎无法确定它的模块/类路径,而我尝试的任何东西似乎都不会影响它。我正在使用以下 Eclipse 配置:
- 版本:2019-03 M1 (4.11.0 M1)
- 版本号:20190117-2133
- Oracle JDK 10.0.2
我的项目是一个 Java Maven 多模块(这些是 maven 模块,不是 java 模块)项目,但它本身没有定义任何 java 模块(我们还没有转换它)。当试图编译它时,eclipse会举手并发送消息
“包 java.sql 可以从多个模块访问:
虽然从表面上看,这似乎很有帮助,但我找不到另一个定义 java.sql 包的模块,并且包中类的唯一实例(例如:java.sql.ResultSet)存在于 JDK 系统中提供的图书馆。这也发生在 javax.xml 包中,出现同样的错误。
我尝试关闭并重新打开 Eclipse,对所有内容执行干净和 Maven 更新项目,但无济于事。我检查了 eclipse .log 文件,里面没有任何用处。无论如何要弄清楚 Eclipse 认为它从哪个模块中提取了该包?
我的下一步是删除整个项目并重新导入。
更新:我想我可能已经找到了违规者...有一个依赖项将几个类声明到 java.sql 包中,这可能会使事情变得糟糕。具体的 JAR 是 net.sourceforge.hatbox:hatbox:1.0.b8,是 com.h2database:h2:1.4.197 jar 的传递依赖。有没有办法告诉 eclipse 忽略该 JAR 中的包?
【问题讨论】:
-
首先你需要告诉它 Maven 而不是 Eclipse...
-
它们都是作为 Maven 项目导入的,是这个意思吗?此外,这可以通过 Maven 在命令行上正常编译
-
从哪里得到错误信息?在运行 Maven 构建时的控制台视图中还是在问题视图和 Java 编辑器中?请显示您的 Java 构建路径。
-
它位于问题视图和 Java 编辑器中。构建路径非常荒谬,但我将使用它的屏幕截图。
标签: java eclipse maven eclipse-2019-03