1

我有一个问题,通过将 jfxrt.jar 添加到标准 Eclipse 构建路径得到了回答。

我遵循了建议,将 jfxft.jar 作为外部 Jar 添加到我已安装的 jdk1.7.0_10.jdk JRE 上(在 Eclipse > Preferences > Java > Installed JREs 下)。

但是当我导入“javafx.application.Application”

它错误:

访问限制:由于所需库 /Library/Java/JavaVirtualMachines/jdk1.7.0_10.jdk/Contents/Home/jre/lib/jfxrt.jar 的限制,无法访问类型 Application

有关于此的帖子,例如访问限制:由于对所需库的限制而无法访问..\jre\lib\rt.jar

我可以通过该线程中的建议来解决这个问题(尽管我不相信它们是好的解决方案)。

或者我找到了将外部 Jar 直接添加到项目中的更好解决方案: - 转到 JRE 并按照上面的设置删除外部 Jar - 打开项目属性并转到 Java 构建路径 - 转到库选项卡 - 添加外部 JARS .. . 并选择完全相同的 jfxrt.jar

现在没有访问限制!

为什么它以一种方式工作而不是另一种?直接添加到 JRE 配置的好处是只需执行一次。

谢谢,

汉克

4

1 回答 1

0

我不建议像这样将 JAR 添加到 JRE 配置中,如果您不希望特定 JAR 出现在特定项目的构建路径上,那么很容易忘记它们的存在,并且可能会导致令人困惑的行为。另外,如果一个项目想要使用不同版本的库会发生什么?

我会考虑至少两个其他选项:

  1. 为 JavaFX定义一个用户库,然后将用户库包含在需要它的项目中。您仍然必须将用户库添加到需要它的每个项目中,但这并不是什么大不了的 IMO,因为每个项目只需执行一次。
  2. 创建一个单独的项目来包含 JAR,将其命名为“JavaFX Libs”。将 JAR 添加到其构建路径并确保在Order and Export选项卡上导出它们;然后添加“JavaFx Libs”项目作为任何项目需要它的依赖项。
于 2013-01-27T15:17:36.233 回答