我的JavaFX
应用程序从源代码处运行得非常好,但是当我编译到单个jar文件时,我得到了错误:
错误:缺少JavaFX运行时组件,而这些组件是运行此应用程序所必需的。
我使用Maven
作为我的存储库管理器,并且我的Maven安装是成功的。
注意:在我的IntelliJ
构建工件中,我可以看到IntelliJ
包含JavaFX
及其所有库
a)对于我的maven项目,技巧是使用一个额外的starter类,它不是从javafx.application.application继承的:
public class GUIStarter {
public static void main(final String[] args) {
GUI.main(args);
}
}
JavaFx依赖项包含在我的pom.xml中,如下所示:
<!-- JavaFx -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>12</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>12</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics </artifactId>
<version>12</version>
<classifier>win</classifier>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>12</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>12</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>12</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>12</version>
</dependency>
为了在构建中包含fxml文件,您可能需要将它们定义为资源:
!-- define JavaFx files as resources to include them in the jar -->
<resource>
<directory>${basedir}/src/main/java/foo/baa/view</directory>
<filtering>false</filtering>
<targetPath>foo/baa/view</targetPath>
</resource>
b)作为另一种选择,可以使用一个额外的maven插件“javafx-maven-plugin”来构建javafx应用程序,请参阅https://openjfx.io/openjfx-docs/#maven的示例项目(这对我不起作用)。我有几个pom文件,希望在一个子项目中引用javafx依赖项。javafx-maven-plugin找不到我的主类。)
这是Duke.java文件: 更新:我将lib文件夹导入到我的项目中,现在错误消失了。但是在我运行项目时发生了另一个错误,这是“由以下原因引起的:java.lang.NullPointerException:输入流不能为null”
我得到以下错误: 我试着重新安装,但没有任何运气。我还尝试将更改为或类似于,但仍然不起作用。
这里的Java新手。我想在VSCode上了解JavaFX,但是当我启动JavaFX时,它给了我这个错误。我试图在项目上添加引用的库和配置在上,但它给了我同样的东西。 这是我的配置。 谁能帮我?
我在Ubuntu 18.04.1 LTS上安装了以下内容: 有人知道怎么修吗?
使用“mvn包”创建jar后,我使用以下命令从jar创建安装程序: 当尝试双击项目可执行文件(.exe由jpackage创建)时,它不会打开。从cmd运行时,我收到以下错误消息: C: \程序文件\项目\u可执行文件\u名称 奇怪的是,如果我双击jar(jpack用来创建程序映像的那个),它会启动我的应用程序。java-jar也是如此。当使用intellij和mvn javafx的“运行”按钮时,
您好,我在运行我的java和javafx文件时遇到了一个问题。我已经安装了java和JDK。如果我单击应用程序,当我尝试从cmd运行i时,什么都没有发生。显示如下:在此处输入图像描述 我已经搜索了一半的谷歌,但没有找到一个适合我的解决方案。如果有人能帮我解决这个问题,那太好了,因为我是一个编程新手,只想运行一个简单的WidgetShortcut应用程序。