繁体   English   中英

如何在不使用 Maven/Gradle/IDE 的情况下部署自包含的 JavaFX 应用程序?

[英]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 .

这是我的项目结构:

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

我可以使用以下命令行编译项目:

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

我可以使用以下命令行运行程序:

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

我的项目差不多完成了。 我只需要 package 就可以了。 不幸的是,似乎每个人都在使用 Maven/Gradle 和特定于 IDE 的技巧(Eclipse、NetBeans、IntelliJ)。 我不想依赖这些方法。

我想要的是:

  • 一个没有安装过程的executable.exe文件(一个只执行并且最好什么都不提取的大文件)。
  • 不使用 Maven/Gradle(我可能会将所有内容都放在一个 makefile 中)。
  • 无需使用特定的 IDE(我使用 VSCode,但我也不想依赖它)。
  • 可以通过常规终端上的命令行来完成。
  • 包含它需要执行的所有东西(用户不需要安装任何东西)。

可能吗? 顺便说一句,我也一直在搞乱 Launch4j、jpackage 和 jlink,但无法弄清楚。

抱歉,如果您已经遇到它,但您可能会发现查看https://docs.oracle.com/javafx/2/deployment/jfxpub-deployment.htm 很有用

本指南提供有关构建、打包和部署 JavaFX 应用程序的基本和高级信息。 JavaFX 部署在您的应用程序中不需要特殊代码,并且与 Java 部署有许多其他差异。 即使您是高级 Java 开发人员,查看入门页面也是一个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM