我已经研究这个问题好几天了,看来所有答案都是特定于 Eclipse 的。我在 Visual Studio Code 上遇到此错误:
The package javax.xml.bind.annotation is accessible from more than one module: <unnamed>, java.xml.bind
这出现在包含 javax.xml.bind.annotation
导入的行上。
使用:
- Java 11.0.4
- VSCode 1.43.2
- Java 扩展包 0.9.0
Gradle 构建没有问题,因此错误消息表明终端和 VSCode 之间存在某种断开连接。
<小时/>到目前为止,我已经:
- 确保
JAVA_HOME
和java.home
匹配 - 清理了 Java 语言服务器工作区
- 确保 java.import.gradle.home` 设置正确
- 禁用了
java.import.gradle.wrapper
- 在项目上运行完整的
gradle clean build
- 进行了大量的互联网搜索
如有任何帮助,我们将不胜感激,感谢您的宝贵时间!
编辑
我知道this question ,但始终没有答案。
最佳答案
在 Java 平台模块系统 (JPMS) 中,不允许在多个模块中使用相同的包名称。如果使用模块路径和类路径,则类路径上的所有内容都将作为模块处理。 JRE Systeme Library 位于 Modulepath 上,包含“java.xml.bind”,因此,您的类路径也包含一个名为“java.xml.bind”的包,如 .
来自形式:Eclipse is confused by imports ("accessible from more than one module")
关于java - VSCode : The package is accessible from more than one module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61278108/