【发布时间】:2018-08-01 08:23:43
【问题描述】:
我的问题如下: 安装 Java 10 后,我无法运行使用 java 1.8 构建的 .jar 文件。
在控制台中,java -version 显示:
java版本“10.0.2” 2018-07-17 Java(TM) SE 运行时环境 18.3 (build 10.0.2+13) Java HotSpot(TM) 64 位服务器 VM 18.3(内部版本 10.0.2+13,混合模式)
当我双击 .jar 时,它没有启动,当我从控制台使用 java -jar APP.jar 运行它时,我收到以下错误: 缺少 JavaFX 应用程序类 feedmeclient.FeedMeClient
有趣的是 IT WORKS 如果我恢复到 Java 1.8 或者如果我在控制台中使用完整路径调用 java 1.8,如下所示: "C:\Program Files (x86)\Java\jre8u162\bin\java.exe" -jar APP.jar,那么就没有问题了。
APP.jar 是使用 NetBeans 8.2 构建的 Java不应该向后兼容吗?
.jar 文件包含 MANIFEST,如下所示:
Manifest-Version: 1.0
Implementation-Title: FeedMeClient
X-COMMENT: Main-Class will be added automatically by build
Implementation-Version: 1.0
Permissions: sandbox
Codebase: *
JavaFX-Version: 8.0
Class-Path: lib/CustomFXComponents.jar lib/FeedMeDataLayer.jar lib/com
mons-io-2.4.jar
Created-By: JavaFX Packager
Implementation-Vendor: bostinac
Main-Class: feedmeclient.FeedMeClient
【问题讨论】:
-
我尝试了一个来自docs.oracle.com/javafx/2/get_started/hello_world.htm 的简单示例 HelloWorld,使用 Java 8 构建它,导出为 Running jar(来自 eclipse),它从 Java 10.0.2 开始。我认为这不是 Java 问题。你检查过你的主类真的在罐子里吗?
-
是的,我查过了……主课在里面。当我调用完全相同的 APP.jar 时,它与 Java 8 一起运行。更奇怪的是,我还有其他使用 1.8 构建的应用程序,这些应用程序在 java 8 和 java 10 上都可以正常工作,只有这个 APP.jar 才有,我不知道是什么。我教过它可能与库和类路径有关,但是当我将它与似乎没有这个问题的 jar 文件进行比较时,它们看起来很相似(使用相同的库,相同的类路径)。
-
你能直接从 Netbeans 用 Java 10 启动它吗?
-
我无法将 JDK 10 添加为 NetBeans 中的平台。似乎所需的 javafx-src.zip(平台源)和 Javadoc 文件不再位于 JDK10 安装文件夹中,因此 NetBeans 无法使用它:(.
-
我刚刚在 NetBeans 网站上找到了这个。这是否意味着IDE有问题并且不支持Java> 8? :( "安装和运行 Java SE、Java EE 和所有 NetBeans 捆绑包需要 JDK 8。NetBeans 8.2 不能在 JDK9 上运行!您可以下载独立的 JDK 或下载带有 NetBeans IDE Java SE 捆绑包的最新 JDK。"跨度>
标签: java class javafx compatibility