今天早上我的项目遇到了一个新问题(周五运行良好)。Eclipse 似乎无法确定它的模块/类路径,而我尝试的任何东西似乎都不会影响它。我正在使用以下 Eclipse 配置:
- 版本:2019-03 M1(4.11.0 M1)
- 版本号:20190117-2133
- 甲骨文 JDK 10.0.2
我的项目是一个 Java Maven 多模块(那些是 maven 模块,不是 java 模块)项目,但没有定义任何 java 模块本身(我们还没有转换它)。当试图编译它时,eclipse会举手并发送消息
“包 java.sql 可以从多个模块访问:<unnamed>, 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 中的包?