在使用JDK 11,Eclipse 2019-03和jaxb-api(版本2.4,最新版本在maven存储库中可用)时,Eclipse中的Java编辑器会突出显示以下一行:
import javax.xml.XMLConstants;
作为错误:
可从多个模块访问包javax.xml:未命名的java.xml
但是代码已编译,并且“问题”选项卡中未显示任何错误。删除jaxb-api依赖关系会使错误消失。该项目中的jaxb-api位于类路径上,并包含以下软件包:
javax.xml.bind;
javax.xml.bind.annotation;
javax.xml.bind.annotation.adapters;
javax.xml.bind.attachment;
javax.xml.bind.helpers;
javax.xml.bind.util;
是Eclipse中的错误还是依赖项/项目中的问题?
答案 0 :(得分:2)
是的,这是Eclipse 2019-03 Java IDE的错误(在jaxb-api
中,javax.xml
是允许的子程序包,但不允许使用的是实际程序包):
该错误已修复。因此,要么忽略它(因为代码已编译),然后等到Eclipse 2019-06(4.12)或使用Eclipse 2019-06的预览版(4.12)。
答案 1 :(得分:0)
在ModulePath中添加外部jar时会发生这种情况。
解决方案:
1)从节点“ Modulepath”中删除外部jar。 2)选择节点“ Classpath”,然后添加外部jar。 3)检查所有jar都在“ Classpath”节点下。