使用jpackage打包JavaFX应用报错:意外Token -t和exe
JavaFX项目jpackage打包失败及Jar无法运行问题
我翻遍了Stack Overflow上几乎所有jpackage相关问题,都没找到解决方案。明明已经安装了JRE,我的JavaFX项目生成的.jar文件仍然无法运行。
在IntelliJ终端执行的打包命令如下:
"C:\Program Files\Java\jdk-18.0.2.1\bin\jpackage.exe" -t exe --name DemoFxApp --app-version 1.0 --input out/artifacts/DemoFxApp_jar/DemoFxApp.jar --dest "C:\Users\user\Desktop" --main-jar DemoFxApp.jar --module-path "C:\Program Files\Java\javafx-sdk-18.0.2\lib" --add-modules javafx.controls,javafx.fxml,javafx.base,javafx.graphics
执行后终端提示意外Token -t和exe。
环境版本信息
- OpenJDK: 18.0.2.1
- JavaFX-SDK: 18.0.2
- JRE: 1.8.0_341
项目结构
DemoFxApp |-out | |- artifacts | |- DemoFxApp_jar | |- DemoFxApp.jar | |-src | |-main | |-java | | |-app | | | |- SceneSwitch.java | | | | | |-controller | | | |-ControllerFirstScreen.java | | | |-ControllerSecondScreen.java | | | | | |-Launcher.java | | | |-resources | |-FirstScreen.fxml | |-SecondScreen.fxml | |-pom.xml
pom.xml内容
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>DemoFxApp</groupId> <artifactId>DemoFxApp</artifactId> <version>1.0-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.release>18</maven.compiler.release> <maven.compiler.source>18</maven.compiler.source> <maven.compiler.target>18</maven.compiler.target> <javaFxVersion>18.0.2</javaFxVersion> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-base</artifactId> <version>${javaFxVersion}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>${javaFxVersion}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-graphics</artifactId> <version>${javaFxVersion}</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>${javaFxVersion}</version> </dependency> </dependencies> </project>
内容的提问来源于stack exchange,提问作者user18773012
相关产品推荐
相关产品推荐

