该错误表明存在 一个以上 包含该软件包的org.apache.logging.log4j
模块
(可能是一个JAR)(或更精确地说,可以从中访问该软件包)。 Java平台模块系统 (JPMS) 不允许
这样做。但是在这种情况下,只有一个JAR包含该软件包,因此 在Eclipse 2019-03(4.11)中会错误地显示 此 错误 。看到:
Eclipse错误546315
-Java编辑器中错误显示“从多个模块可以访问包[…]:,[…]”错误
作为 此错误的 解决方法 ,请执行以下任一操作:
- 在
module-info.java
添加的行中requires org.apache.logging.log4j.core;
,将所有相关的JAR拉到modulepath上 - 忽略该错误(因为它不会阻止代码被编译)
- 降级到Eclipse 2018-12(4.10)或等到Eclipse 2019-06(4.12)
默认情况下,所有Maven依赖项都位于类路径上。在
module-info.java该行中,
requiresorg.apache.logging.log4j;将带有
org.apache.logging.log4j模块的JAR
拉到modulepath上。该错误错误地指出,在类路径上(因此在 未命名 模块中)还有另一个JAR 也包含package
org.apache.logging.log4j。请注意,
modules-info.test(带有文件扩展名
.test)既不是Java也不是Maven,因此对于Eclipse仅是文本文件。
多模块支持 :在您的情况下,您只有一个
module-info.java,这意味着您只有一个Java模块。在Eclipse中
,每个Java模块都需要一个Java项目 (因为每个模块都有其自己的依赖性)。



