2026-03-12

JavaFX 編譯成可執行程式

以前有寫過接手 JavaFX 專案的筆記。這篇則是從 0 建置 JavaFX 後的筆記紀錄。

我這次使用以下面的指令建立 javaFX 專案(windows 的話要把\改成^):

mvn archetype:generate \
    -DarchetypeGroupId=org.openjfx \
    -DarchetypeArtifactId=javafx-archetype-simple \
    -DarchetypeVersion=0.0.6 \
    -DgroupId=com.example \
    -DartifactId=jfxsample \
    -Dversion=0.0.0-SNAPSHOT \
    -Djavafx-version=17.0.14

生出來的專案架構如下:

│  pom.xml
│
└─src
    └─main
        └─java
            │  module-info.java
            │
            └─com
                └─example
                        App.java
                        SystemInfo.java

如果我執行 mvn javafx:run,可以啟動專案。

但是 mvn package的話,執行 java -jar target/jfxsample-0.0.0-SNAPSHOT.jar會出現以下錯誤訊息

Error: Unable to access jarfile target/jfxsample-0.0.0-SNAPSHOT.jar

如果你的 jre 是中文版,錯誤訊息則會是

target/jfxsample-0.0.0-SNAPSHOT.jar 中沒有主要資訊清單屬性