尝试在JMX控制台中注册MBean时,出现以下错误消息:
The package javax.management is accessible from more than one module: <unnamed>, java.management
我正在使用Eclipse,并且我的项目结构中没有module-info.java
文件。
http://hackage.haskell.org/package/ClassyPrelude-0.1/docs/Prelude-Math.html
当我注释对Java EE API的依赖关系时,错误消失了,但是javax.management
包不是JAR的一部分。
答案 0 :(得分:1)
从Java 8更新到Java 11时,我遇到了类似的问题。
注意:JRE系统库将保留在 Modulepath 下。
Eclipse版本:2019-09
答案 1 :(得分:0)
您是否正在使用Java-1.8?因为它是默认程序包,所以无需为此添加依赖项。
答案 2 :(得分:0)
我正在使用java11,切换回Java 8后帮助我解决了Java构建路径中的这些问题。
答案 3 :(得分:0)
最好的解决方法是找到导致重复问题的库,因为它提供的包与应用程序中的另一个模块相同。只需浏览您的项目依赖项 JRE 系统库和项目外部库,并检查每个库中的包。
找到该库后,只需将其从构建中排除即可。
说它是一个带有这个依赖签名的库:
group: 'lib.group', name: 'lib-name', version: notImportant
你所要做的就是像这样从构建中排除它:
dependencies {
...
configurations {
compile.exclude group: 'lib.group', module: 'lib-name'
}
...
}
我回答了一个类似的问题 here ...
答案 4 :(得分:0)
如果您在 Java 11 中遇到同样的问题,只需删除 JRE 11(java.xml、java.xml.crypto)中的模块依赖即可。
按照以下步骤操作 右键单击项目 -> 构建路径 -> 模块依赖 -> 只需从 java11 中删除两个模块就可以了。