当我尝试在新的java8项目中使用javafx相关的类时,我从eclipse得到一个访问限制错误。到目前为止,我能找到的唯一“解决方案”就是告诉eclipse忽略访问限制,但我对此并不满意。错误的一个示例:
Access restriction: The type Pane is not accessible due to
restriction on required library C:\Program Files\Java\jre8_0\lib\ext\jfxrt.jar
我正在使用Eclipse Kepler和java 8的Eclipse JDT补丁。
这似乎是一个与JavaFX不是JavaSE执行环境的一部分有关的问题。
我现在很困惑,因为根据http://en.wikipedia.org/wiki/JavaFX的说法,javaFX是JavaSE的一部分。有没有可能Eclipse没有意识到它是javaSE的一部分?
发布于 2014-04-02 22:59:35
从Eclipse的角度来看,这个错误是完全正确的,因为JavaFX来自扩展类路径,并不是在所有Java8 VM(例如ibm!)上都可用。
如上所述,你可以通过添加访问规则或IMHO来抑制这些警告,最好的解决方案是安装e(fx)clipse,它会自动为你做这件事,除此之外,它甚至还为你提供了JavaFX、CSS和FXML的工具。
您可以从http://efxclipse.bestsolution.at/install.html获取all in one包
发布于 2014-04-02 21:23:55
我通过删除JDK并将其读取到构建路径解决了这个问题。不过,不要问我为什么这样做。
发布于 2017-09-08 03:37:11
我也有同样的问题。我使用了James_D的解决方案,但他的精确解决方案对我不起作用。但是使用**/javafx/**
而不是javafx/**
为我解决了这个问题。希望这能有所帮助。
PS:我会在James_D的解决方案下发表这篇评论,但我刚刚注册,没有足够的“声誉”来这样做。
https://stackoverflow.com/questions/22812488
复制相似问题