Java a->编译器->错误/警告视图
及 “已弃用和受限制的API” 您可以将“禁止引用(访问规则)”设置为忽略Java a->编译器->错误/警告视图,java,eclipse,javafx,java-8,Java,Eclipse,Javafx,Java 8,及 “已弃用和受限制的API” 您可以将“禁止引用(访问规则)”设置为忽略 我知道这已经得到了回答,但我发现提议的解决方案很笨拙 我不想安装一个插件来避免我认为是一个无效的错误。 将jfxrt.jar添加为外部jar将起作用,但如果您计划进行导出,则这是一个坏主意,因为jfxrt.jar也将被导出。可能不是你想要的 另一个选项 在“Mars”版本(可能还有更早的版本)中,您可以禁用访问限制错误。在 Java->编译器->错误/警告视图 及 “已弃用和受限制的API” 您可以将“禁止引用(访问规则
我知道这已经得到了回答,但我发现提议的解决方案很笨拙 我不想安装一个插件来避免我认为是一个无效的错误。
我将在这里再添加一个答案,以提供我认为最简单的方法。在我的Eclipse设置中,我安装了e(fx)clipse,它提供了一个解决方案,并且提供了许多有用的开发特性,如果您正在编写JavaFX应用程序,您几乎肯定会需要这些特性。这可能是最实际的方法。如果出于某种原因你不想要这个插件,这个答案中列出的解决方案将以最少的其他副作用修复这个问题 正如在其他答案中指出的那样,Eclipse默认情况下不允许访问jre/lib/ext目录中jar文件中的类,因为这些类不能保证在所有Java平台上都存在。如果您正在编写一个JavaFX8应用程序,则假设您所在的平台上的lib/ext位置有jfxrt.jar 因此,最简单的修复方法是允许访问这个jar文件中的类(并且只允许访问这个jar文件中的类)。为此,右键单击项目并打开“项目属性”对话框。在左窗格中选择“构建路径”,然后选择“库”选项卡。您将看到一个“JRE系统库”条目。展开该条目,您将看到“访问规则”子条目: 选择“访问规则”条目并单击“编辑”。单击“添加” 在“分辨率”下选择“可访问”,在“规则模式”下输入
javafx/**
:
单击“确定”退出所有对话框
此设置将允许访问从javafx.
开始的任何包中的所有类,但将保留ext文件夹中所有其他类的规则,从这个意义上说,它是“最小的”
同样,您可能真正想做的是安装e(fx)clipse插件,但据我所知,这是对Eclipse设置的副作用最小的解决方案。我将在这里再添加一个答案,以提供我认为最简单的方法。在我的Eclipse设置中,我安装了e(fx)clipse,它提供了一个解决方案,并且提供了许多有用的开发特性,如果您正在编写JavaFX应用程序,您几乎肯定会需要这些特性。这可能是最实际的方法。如果出于某种原因你不想要这个插件,这个答案中列出的解决方案将以最少的其他副作用修复这个问题 正如在其他答案中指出的那样,Eclipse默认情况下不允许访问jre/lib/ext目录中jar文件中的类,因为这些类不能保证在所有Java平台上都存在。如果您正在编写一个JavaFX8应用程序,则假设您所在的平台上的lib/ext位置有jfxrt.jar 因此,最简单的修复方法是允许访问这个jar文件中的类(并且只允许访问这个jar文件中的类)。为此,右键单击项目并打开“项目属性”对话框。在左窗格中选择“构建路径”,然后选择“库”选项卡。您将看到一个“JRE系统库”条目。展开该条目,您将看到“访问规则”子条目: 选择“访问规则”条目并单击“编辑”。单击“添加” 在“分辨率”下选择“可访问”,在“规则模式”下输入
javafx/**
:
单击“确定”退出所有对话框
此设置将允许访问从javafx.
开始的任何包中的所有类,但将保留ext文件夹中所有其他类的规则,从这个意义上说,它是“最小的”
同样,您可能真正想做的是安装e(fx)clipse插件,但据我所知,这是对Eclipse设置的副作用最小的解决方案。正如James_D所建议的,我在我的类路径文件中添加了访问规则。我暂时卸载了e(fx)clipse插件,因为它有一个css验证错误(请参阅) 以下是我在JRE容器的类路径文件中的条目:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
<accessrules>
<accessrule kind="accessible" pattern="javafx/**"/>
<accessrule kind="accessible" pattern="com/sun/javafx/**"/>
</accessrules>
</classpathentry>
正如詹姆斯所建议的那样,我将访问规则添加到我的类路径文件中。我暂时卸载了e(fx)clipse插件,因为它有一个css验证错误(请参阅) 以下是我在JRE容器的类路径文件中的条目:
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
<accessrules>
<accessrule kind="accessible" pattern="javafx/**"/>
<accessrule kind="accessible" pattern="com/sun/javafx/**"/>
</accessrules>
</classpathentry>
- 转到当前项目的生成路径
- 选择“JRE系统库”[jdk1.8xxx]”
- 单击编辑
- 然后选择“工作区默认JRE(jdk1.8xx)”或备用JRE
- 单击“完成”
- 单击“确定”
- 转到当前项目的生成路径
- 选择“JRE系统库”[jdk1.8xxx]”
- 单击编辑
- 然后选择“工作区默认JRE(jdk1.8xx)”或