首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Java 10运行JavaFX文件时缺少.jar应用程序类

使用Java 10运行JavaFX文件时缺少.jar应用程序类
EN

Stack Overflow用户
提问于 2018-08-01 08:23:43
回答 1查看 1.7K关注 0票数 0

我的问题是:在安装java 10之后,我无法运行用Java1.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

有趣的是,如果我恢复到Java1.8,或者在控制台中调用带有完整路径的java1.8,IT可以工作:"C:\Program (x86)\Java\jre8u162\bin\java.exe“-jar APP.jar,那么它没有问题。

APP.jar是用Java8.2构建的,不是应该向后兼容吗?

.jar文件包含清单,它如下所示:

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2018-08-02 09:13:29

So...after我觉得我发现了问题.其实还有更多的问题:

  1. 看来Netbeans 8.2不适用于Java 9或10。我从netbeans.apache.org中获得了netbeans.apache.org中的NetBeans 9,正如拉尔夫·伦兹所建议的那样,我能够将该项目加载到其中,并使用JDK 10进行编译。 此外,IDE很难扫描这些类,并在选择要使用的项目的主类时弹出。对话框窗口会被卡住,而且没有一个类是found....hmmm够奇怪的。这个项目没有任何错误,它编译并构建得很好。然后我开始调查使用的图书馆。我使用一个也是用Java 8构建的库,这个名为DataLayer.jar的库使用JAXB访问文件来编写和读取XML文件。
  2. 现在的主要问题是: JAXB以前一直在Java发行版中,但在Java 10中他们删除了它:((有趣的是,IDE不会抱怨,因为作为库使用的DataLayer.jar已经编译了,我猜它已经包含了需要的类)。但是不知怎么的,仍然缺少一些东西,因为当我单独运行DataLayer.jar时,它就会崩溃,因为一些JAXB符号无法被解析。在运行时,即使与问题的真正原因无关,也会引发“缺失JavaFX应用程序类feedmeclient.FeedMeClient”。

好的是您可以将JAXB作为库并在项目中使用它。我做完这件事后一切都恢复正常了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51628591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档