更新:我最终发现下面描述的问题只是最初出现的问题。实际问题是,从 Java 8 更新到 Java 10(和 11)后,Eclipse 无法正确编译我的项目。JDK 库和其他设置配置正确,我收到了近 1,000 个编译错误。
没有理由再读下去了
我将 Swing 应用程序从 JDK 8 升级到 JDK 10(Mac 上的 Oracle Java),eclipse 抱怨说javax.accessibility.Accessible
缺少,并且是我的一个课程所必需的。我明白这个错误意味着什么,但我不明白为什么 eclipse 找不到那个包。我在网上搜索了一个多小时,我找不到任何人有这个问题的迹象。似乎我应该能够从 JDK 中访问该包,但我显然错过了一些东西。
编辑2:
我关闭了标志以在出现错误时中止构建,现在我看到有数百个错误。很难说哪些是主要的,但常见的情况是class java.awt.<SomeClass> is not accessible
. 这似乎发生在每个 awt 类中。我的代码没有组织为模块,我认为java.desktop
在Modulepath
. 此外,此代码的 ant 构建工作正常。
编辑:
正如评论中所建议的,这可能是 IDE 配置错误,但我不知道我能解决什么。我已经离开 Java 几年了,虽然我已经了解了 JDK 是用 JDK 9 重新组织的,并且引入了模块,但我不知道是否有我应该做的事情明确地使javax.accessibility
包在类路径上可用。我刚刚在项目的构建路径中添加了一个 JRE 系统库,就像我一直在 Eclipse 中处理 Java 项目一样。
在构建路径配置 UI 中,我看到 JRE 系统库(绑定到 JDK 10)是Modulepath
. 在 JRE 系统库下,我看到了许多模块,在它们上面是一个Is Module
我可以编辑的条目。它在左侧显示可用模块,并在右侧的两个树表中显式和隐式包含模块。这些都不包括javax.accessibility
,但jdk.accessibility
被列为明确包括。左侧的可用模块似乎都与可访问性没有任何关系。所以我不知道我还能做些什么来包含那个丢失的包。一些摇摆类依赖于它,所以它似乎应该在默认情况下就在那里。
慕桂英4014372
相关分类