[英]How to deploy a self-contained JavaFX application without using Maven/Gradle/IDEs?
I'm working on a simple JavaFX project using: Windows , VSCode/PowerShell , Java SDK 17.0.2 , JavaFX SDK 17.0.2 . I'm working on a simple JavaFX project using: Windows , VSCode/PowerShell , Java SDK 17.0.2 , JavaFX SDK 17.0.2 .
Here is my project structure:这是我的项目结构:
bin/
snaptools/
Controller.class
Main.class
SnapTransceiver.class
icon.png
snaptools.fxml
lib/
openjfx-17.0.2_windows-x64_bin-sdk/
...
jSerialComm-2.9.1.jar
snaprotocol-1.0.0.jar
src/
snaptools/
Controller.java
Main.java
SnapTransceiver.java
icon.png
snaptools.fxml
I can compile the project using this command line:我可以使用以下命令行编译项目:
javac -encoding UTF-8 -d bin --class-path "lib/jSerialComm-2.9.1.jar;lib/snaprotocol-1.0.0.jar" --module-path lib/openjfx-17.0.2_windows-x64_bin-sdk/javafx-sdk-17.0.2/lib --add-modules javafx.controls,javafx.fxml src/snaptools/*.java
I can run the program using this command line:我可以使用以下命令行运行程序:
java --class-path "bin;lib/jSerialComm-2.9.1.jar;lib/snaprotocol-1.0.0.jar" --module-path lib/openjfx-17.0.2_windows-x64_bin-sdk/javafx-sdk-17.0.2/lib --add-modules javafx.controls,javafx.fxml snaptools.Main
My project is pretty much done.我的项目差不多完成了。 I just need to package it.我只需要 package 就可以了。 Unfortunately, it seems everybody is using Maven/Gradle and IDE-specific tricks (Eclipse, NetBeans, IntelliJ).不幸的是,似乎每个人都在使用 Maven/Gradle 和特定于 IDE 的技巧(Eclipse、NetBeans、IntelliJ)。 I don't want to depend on these methods.我不想依赖这些方法。
What I want:我想要的是:
Is it possible?可能吗? Btw, I've also been messing with Launch4j, jpackage, and jlink, but couldn't figure it out.顺便说一句,我也一直在搞乱 Launch4j、jpackage 和 jlink,但无法弄清楚。
Apologies if you have already come across it, but you might find it useful to take a look at https://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm抱歉,如果您已经遇到它,但您可能会发现查看https://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm 很有用
This guide provides basic and advanced information about building, packaging, and deploying your JavaFX application.本指南提供有关构建、打包和部署 JavaFX 应用程序的基本和高级信息。 JavaFX deployment requires no special code in your application and has many other differences from Java deployment. JavaFX 部署在您的应用程序中不需要特殊代码,并且与 Java 部署有许多其他差异。 Even if you are an advanced Java developer, it is a good idea to review the Getting Started page.即使您是高级 Java 开发人员,查看入门页面也是一个好主意。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.