我在Ubuntu17.04和Oracle JDK 8u144中使用EclipseOxy4.7.0。
在包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')
这似乎与JavaSE-1.8的"Java系统库“有关。jfxrt.jar
有“访问规则”,您可以在Properties -> javax路径中查看,这些规则只允许javax/、java/、org.w3c.*等,甚至在jfxrt.jar
中都没有。
我可以用两种不同的方法解决这个问题。
这两种方法都不是理想的,因为我有大量的Eclipse项目需要调整,并且希望保留禁止的引用检查以捕获真正的错误。
注意,当通过Eclipse中包含的标准Gradle Import插件导入项目时,这也是一个问题。
是否存在避免此问题的方法,可能是通过Gradle配置,还是一个已知的bug/特性将被修复?
发布于 2017-08-28 22:29:49
在日食虫431067中详细讨论了这一点。
除了解决问题的方法外,最简单的方法是安装e(fx)clipse https://www.eclipse.org/efxclipse/install.html。
这可以自动配置JDK中所需的访问限制。
https://stackoverflow.com/questions/45586677
复制