我在Ubuntu 17.04中使用Eclipse Oxygen 4.7.0和Oracle JDK 8u144。
引用包javafx.*
中的JavaFX类的任何代码,例如javafx.application.Application
被(错误地)报告为错误
Access restriction: The type 'ScrollPane' is not API (restriction on required library '/opt/jdk1.8.0_144/jre/lib/ext/jfxrt.jar')
这似乎与" Java系统库"有关。 JavaSE的-1.8。 jfxrt.jar
有"访问规则"你可以在属性中查看 - > Java Build Path,它们只允许javax / ,java / ,org.w3c。*等,其中任何一个都不在jfxrt.jar
中。
我可以用两种不同的方式解决这个问题
这两种方法都不是理想的,因为我有大量的Eclipse项目要进行调整,并且更愿意禁用禁用的引用检查以捕获真正的错误。
请注意,通过Eclipse中包含的标准Gradle Import插件导入项目时,这也是一个问题。
是否有任何方法可以避免此问题,可能是通过Gradle配置,还是已修复的已知错误/功能?
答案 0 :(得分:2)
这在Eclipse Bug 431067详细讨论。
除问题中的解决方法外,最简单的方法是安装e(fx)clipse插件 - https://www.eclipse.org/efxclipse/install.html。
这有助于在JDK中自动配置必要的访问限制。