【问题标题】:Package is accessible from more than one module可以从多个模块访问包
【发布时间】:2020-03-26 00:06:47
【问题描述】:

我的项目在 Java 1.8u151 上运行良好。我正在尝试将其升级到 Java 12,但出现以下错误。

Package is accessible from more than one module <unnamed>

这是唯一的错误,并且在 Java 12 中的大多数包中重复出现,但在 Java 8 中可以正常工作。

我尝试将所有 jar 文件从模块路径移动到类路径。模块路径中只有 Java 12 库。我试图在 Java 版本的包中寻找任何不推荐使用的东西。我尝试了 3 个具有不同 Java 版本的不同系统(都运行 OS-X 10.13.6、10.13.3 10.11.6 和我自己的系统 10.14.6)。

错误截图 - https://drive.google.com/open?id=1GS_v4rWe5wtigHIDeYtqd2r9YmTVyXbd

错误与“org.w3c.dom”和“org.xml.sax”相同 - 从&lt;unnamed&gt; 和 java.xml 调用包

最好的解决方案是消除问题或引导编译器仅使用 JRE 系统库。

【问题讨论】:

  • 此问题已被标记为与错误问题重复。这不是 Eclipse 错误,而是 Java 9 及更高版本的限制:stackoverflow.com/a/53824670/6505250
  • 看起来您有一个包含与系统库相同的类的依赖项(Java 9 及更高版本不允许这样做)。在这种情况下,只需删除依赖即可修复错误。
  • 这是正确答案。不是 Eclipse 错误,而是 java 9 及更高版本的限制。 @howlger 如果可能,请更正它。谢谢!!
  • 我被投票重新打开,所以它可以作为正确问题的副本再次关闭。我没有足够的声望来自己改变它。您可以在问题中添加注释。

标签: java eclipse java-8 package java-12


【解决方案1】:

看起来像 Eclipse 中的错误 Bug 546315 - [11] "The package [...] is accessible from more than one module:

尝试使用最新版本来解决此问题。

【讨论】:

  • 这与您在答案中引用的 Eclipse 错误中的子包无关。这是 Java 9 及更高版本的限制:两个模块不能使用相同的包名。见stackoverflow.com/a/53824670/6505250
【解决方案2】:

有一个bug in Eclipse 没有完全修复。如果您找到确切的错误重现步骤,您可能想报告您重现错误的方式。

【讨论】:

  • 所引用的错误已完全修复。在这种情况下,不涉及子包。但是在 Java 9 和更高版本中,两个模块不能使用同一个包。请参阅我上面的评论。
猜你喜欢
  • 2021-06-12
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 2020-07-31
  • 2019-12-08
  • 2019-01-25
  • 1970-01-01
  • 2019-10-14
相关资源
最近更新 更多