簡體   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