使用Java 10运行.jar文件时缺少JavaFX应用程序类
我的问题如下: 安装Java10后,我无法运行用Java1.8构建的.jar文件 在控制台中,java-version显示: java版本“10.0.2”2018-07-17 Java(TM)SE运行时环境18.3(构建10.0.2+13) Java HotSpot(TM)64位服务器VM 18.3(构建10.0.2+13,混合模式) 当我双击.jar时,它不会启动,当我使用java-jar APP.jar从控制台运行它时,我得到以下错误: 缺少JavaFX应用程序类feedmeclient.feedmeclient 有趣的是,如果我恢复到Java 1.8,或者如果我在控制台中使用完整路径调用Java 1.8,它会起作用,如下所示: “C:\ProgramFiles(x86)\Java\jre8u162\bin\Java.exe”-jar APP.jar,那么它就可以正常工作了 APP.jar是用NetBeans 8.2构建的 Java不应该向后兼容吗 .jar文件包含清单,如下所示:使用Java 10运行.jar文件时缺少JavaFX应用程序类,java,class,javafx,compatibility,Java,Class,Javafx,Compatibility,我的问题如下: 安装Java10后,我无法运行用Java1.8构建的.jar文件 在控制台中,java-version显示: java版本“10.0.2”2018-07-17 Java(TM)SE运行时环境18.3(构建10.0.2+13) Java HotSpot(TM)64位服务器VM 18.3(构建10.0.2+13,混合模式) 当我双击.jar时,它不会启动,当我使用java-jar APP.jar从控制台运行它时,我得到以下错误: 缺少JavaFX应用程序类feedmeclient.f
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
所以…经过一番努力我想我发现了问题。。。实际上还有更多的问题:
好的是,您可以将JAXB作为库并在项目中使用。在我这样做之后,一切都恢复正常。我尝试了一个简单的HelloWorld示例,使用Java 8构建它,导出为运行jar(来自eclipse)它是从Java 10.0.2开始的。我认为这不是Java的问题。你检查过你的主类是否真的在jar中吗?是的,我检查过了…主类在那里。当我调用完全相同的APP.jar时,它是用Java 8运行的。更奇怪的是,我还有其他用1.8构建的应用程序,这些应用程序可以同时使用Java 8和Java 10,是吗只使用这个APP.jar,我不知道是什么。我教过它可能与库和类路径有关,但它们看起来相似(使用的库相同,类路径相同)当我将其与似乎没有此问题的jar文件进行比较时。您可以直接从具有Java 10的Netbeans启动它吗?我无法将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。”