【问题标题】:VSCode: The package is accessible from more than one moduleVSCode:可以从多个模块访问该包
【发布时间】:2020-07-31 08:05:59
【问题描述】:

我已经研究了好几天,似乎所有答案都是针对 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_HOMEjava.home 匹配
  • 清理了 Java 语言服务器工作区
  • 确保 java.import.gradle.home` 设置正确
  • 禁用java.import.gradle.wrapper
  • 在项目上运行完整的gradle clean build
  • 进行了广泛的互联网搜索

任何帮助将不胜感激,感谢您的宝贵时间!

编辑

我知道this question,但从来没有答案。

【问题讨论】:

  • 请检查here。希望它有所帮助:)

标签: java gradle visual-studio-code


【解决方案1】:

在 Java 平台模块系统 (JPMS) 中,不允许在多个模块中使用相同的包名。如果使用了 Modulepath 和 Classpath,则 Classpath 上的所有内容都作为模块处理。 JRE Systeme 库位于 Modulepath 中,包含“java.xml.bind”,因此,您的 Classpath 也包含一个名为“java.xml.bind”的包。

来自:Eclipse is confused by imports ("accessible from more than one module")

【讨论】:

  • 我也在答案中看到了这一点。然而,这并没有给我一个解决方案。我的项目中没有module-info.java 文件,所以我根本看不到模块路径。我需要java.xml.bind 依赖,那么有没有办法调和这种冲突?
  • 因为 'javax.xml.bind.annotation' 包已从 jdk11 中删除,因此,您以两种方式引用了此包,在模块和类路径中,找出它,然后删除一个依赖项。
  • 我确定你是对的,但为什么 gradle build 工作时没有错误?我的问题是终端和 VSCode 之间存在断开连接。
猜你喜欢
  • 2020-03-11
  • 1970-01-01
  • 2021-06-12
  • 2020-05-13
  • 1970-01-01
  • 1970-01-01
  • 2019-12-08
  • 2019-01-25
  • 1970-01-01
相关资源
最近更新 更多