溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

JDK14中如何使用jpackage打包命令

發(fā)布時(shí)間:2020-07-28 13:24:44 來源:億速云 閱讀:346 作者:小豬 欄目:編程語言

這篇文章主要為大家展示了JDK14中如何使用jpackage打包命令,內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會(huì)有收獲的,下面讓小編帶大家一起來看看吧。

1.前提:已安裝JDK14,可以到j(luò)dk官網(wǎng)下載

2.不說沒用的直接上jdk14環(huán)境下的jpackage命令,打開cmd窗口輸入:jpackage -h 得到如下內(nèi)容:

F:>jpackage -h
WARNING: Using incubator modules: jdk.incubator.jpackage

用法:jpackage

示例用法:

  生成適合主機(jī)系統(tǒng)的應(yīng)用程序包:
    對(duì)于模塊化應(yīng)用程序:
      jpackage -n name -p modulePath -m moduleName/className
    對(duì)于非模塊化應(yīng)用程序:
      jpackage -i inputDir -n name \
        --main-class className --main-jar myJar.jar
    從預(yù)構(gòu)建的應(yīng)用程序映像:
      jpackage -n name --app-image appImageDir
  生成應(yīng)用程序映像:
    對(duì)于模塊化應(yīng)用程序:
      jpackage --type app-image -n name -p modulePath \
        -m moduleName/className
    對(duì)于非模塊化應(yīng)用程序:
      jpackage --type app-image -i inputDir -n name \
        --main-class className --main-jar myJar.jar
    要為 jlink 提供您自己的選項(xiàng),請(qǐng)單獨(dú)運(yùn)行 jlink:
      jlink --output appRuntimeImage -p modulePath -m moduleName \
        --no-header-files [<additional jlink options>...]
      jpackage --type app-image -n name \
        -m moduleName/className --runtime-image appRuntimeImage
  生成 Java 運(yùn)行時(shí)程序包:
    jpackage -n name --runtime-image <runtime-image>

一般選項(xiàng):

 @\<filename>
     從文件讀取選項(xiàng)和/或模式
     可以多次使用此選項(xiàng)。
 --type -t \<type>
     要?jiǎng)?chuàng)建的程序包的類型
     有效值為:{"app-image", "exe", "msi"}
     如果未指定此選項(xiàng),則將創(chuàng)建與平臺(tái)相關(guān)的
     默認(rèn)類型。
 --app-version \<version>
     應(yīng)用程序和/或程序包的版本
 --copyright \<copyright string>
     應(yīng)用程序的版權(quán)
 --description \<description string>
     應(yīng)用程序的說明
 --help -h
     將用法文本輸出到輸出流并退出,用法文本中包含
     適用于當(dāng)前平臺(tái)的每個(gè)有效選項(xiàng)的列表和說明
 --name -n \<name>
     應(yīng)用程序和/或程序包的名稱
 --dest -d \<destination path>
     用來放置所生成的輸出文件的路徑
     默認(rèn)為當(dāng)前的工作目錄。
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
 --temp \<file path>
     用來創(chuàng)建臨時(shí)文件的新目錄或空白目錄的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
     如果指定,則在任務(wù)完成時(shí)將不刪除臨時(shí)目錄,
     必須手動(dòng)刪除臨時(shí)目錄
     如果未指定,則將創(chuàng)建一個(gè)臨時(shí)目錄,
     并在任務(wù)完成時(shí)刪除該臨時(shí)目錄。
 --vendor \<vendor string>
     應(yīng)用程序的供應(yīng)商
 --verbose
     啟用詳細(xì)的輸出
 --version
     將產(chǎn)品版本輸出到輸出流并退出

用來創(chuàng)建運(yùn)行時(shí)映像的選項(xiàng):

 --add-modules <模塊名稱>[,<模塊名稱>...]
     要添加的模塊的逗號(hào) (",") 分隔列表。
     此模塊列表連同主模塊(如果指定)
     將作為 --add-module 參數(shù)傳遞到 jlink。
     如果未指定,則僅使用主模塊(如果指定了 --module),
     或者使用默認(rèn)的模塊集(如果指定了
     --main-jar)。
     可以多次使用此選項(xiàng)。
 --module-path -p \<module path>...
     路徑的 ; 分隔列表
     每個(gè)路徑要么是模塊的目錄,要么是
     模塊 jar 的路徑。
     (每個(gè)路徑可以是絕對(duì)路徑,也可以是相對(duì)于當(dāng)前目錄的路徑)
     可以多次使用此選項(xiàng)。
 --bind-services
     將 --bind-services 選項(xiàng)傳遞到 jlink(將在服務(wù)
     提供商模塊及其被依賴對(duì)象中進(jìn)行鏈接)
 --runtime-image \<file path>
     將復(fù)制到應(yīng)用程序映像的預(yù)定義
     運(yùn)行時(shí)映像的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
     如果未指定 --runtime-image,jpackage 將運(yùn)行 jlink 以
     使用如下選項(xiàng)創(chuàng)建運(yùn)行時(shí)映像:
     --strip-debug、--no-header-files、--no-man-pages 和
     --strip-native-commands。

用來創(chuàng)建應(yīng)用程序映像的選項(xiàng):

 --icon \<icon file path>
     應(yīng)用程序包圖標(biāo)的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
 --input -i \<input path>
     包含要打包的文件的輸入目錄的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
     輸入目錄中的所有文件將打包到
     應(yīng)用程序映像中。

用來創(chuàng)建應(yīng)用程序啟動(dòng)程序的選項(xiàng):

 --add-launcher \<launcher name>=\<file path>
     啟動(dòng)程序的名稱和包含關(guān)鍵字-值對(duì)列表的
     屬性文件的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
     可以使用關(guān)鍵字 "module"、"main-jar"、"main-class"、
     "arguments"、"java-options"、"app-version"、"icon" 和
     "win-console"。
     這些選項(xiàng)將添加到原始命令行選項(xiàng)中或者用來覆蓋
     原始命令行選項(xiàng),以構(gòu)建額外的替代啟動(dòng)程序。
     將從命令行選項(xiàng)構(gòu)建主應(yīng)用程序啟動(dòng)程序。
     可以使用此選項(xiàng)構(gòu)建額外的替代啟動(dòng)程序,
     可以多次使用此選項(xiàng)來構(gòu)建
     多個(gè)額外的啟動(dòng)程序。
 --arguments \<main class arguments>
     在沒有為啟動(dòng)程序提供命令行參數(shù)時(shí),
     要傳遞到主類的命令行參數(shù)
     可以多次使用此選項(xiàng)。
 --java-options \<java options>
     要傳遞到 Java 運(yùn)行時(shí)的選項(xiàng)
     可以多次使用此選項(xiàng)。
 --main-class \<class name>
     要執(zhí)行的應(yīng)用程序主類的限定名稱
     只有在指定了 --main-jar 時(shí)才能使用此選項(xiàng)。
 --main-jar \<main jar file>
     應(yīng)用程序的主 JAR;包含主類
     (指定為相對(duì)于輸入路徑的路徑)
     可以指定 --module 或 --main-jar 選項(xiàng),但是不能同時(shí)指定
     這兩個(gè)選項(xiàng)。
 --module -m \<module name>[/\<main class>]
     應(yīng)用程序的主模塊(以及可選的主類)
     此模塊必須位于模塊路徑中。
     如果指定了此選項(xiàng),則將在 Java 運(yùn)行時(shí)映像中
     鏈接主模塊??梢灾付?--module 或 --main-jar 選項(xiàng),
     但是不能同時(shí)指定這兩個(gè)選項(xiàng)。

用來創(chuàng)建應(yīng)用程序啟動(dòng)程序的與平臺(tái)相關(guān)的選項(xiàng):

 --win-console
     為應(yīng)用程序創(chuàng)建控制臺(tái)啟動(dòng)程序,應(yīng)當(dāng)為
     需要控制臺(tái)交互的應(yīng)用程序指定

用來創(chuàng)建應(yīng)用程序包的選項(xiàng):

 --app-image \<file path>
     用來構(gòu)建可安裝程序包的
     預(yù)定義應(yīng)用程序映像的位置
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
 --file-associations \<file path>
     包含關(guān)鍵字-值對(duì)列表的屬性文件的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
     可以使用關(guān)鍵字 "extension"、"mime-type"、"icon" 和 "description"
     來描述此關(guān)聯(lián)。
     可以多次使用此選項(xiàng)。
 --install-dir \<file path>
     默認(rèn)安裝位置下面的相對(duì)子路徑
 --license-file \<file path>
     許可證文件的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
 --resource-dir \<path>
     覆蓋 jpackage 資源的路徑
     可以通過向該目錄中添加替代資源來覆蓋 jpackage 的
     圖標(biāo)、模板文件和其他資源。
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
 --runtime-image \<file-path>
     要安裝的預(yù)定義運(yùn)行時(shí)映像的路徑
     (絕對(duì)路徑或相對(duì)于當(dāng)前目錄的路徑)
     在創(chuàng)建運(yùn)行時(shí)程序包時(shí)需要使用選項(xiàng)。

用來創(chuàng)建應(yīng)用程序包的與平臺(tái)相關(guān)的選項(xiàng):

 --win-dir-chooser
     添加一個(gè)對(duì)話框以允許用戶選擇
     產(chǎn)品的安裝目錄
 --win-menu
     將該應(yīng)用程序添加到系統(tǒng)菜單中
 --win-menu-group \<menu group name>
     啟動(dòng)該應(yīng)用程序所在的菜單組
 --win-per-user-install
     請(qǐng)求基于每個(gè)用戶執(zhí)行安裝
 --win-shortcut
     為應(yīng)用程序創(chuàng)建桌面快捷方式
 --win-upgrade-uuid \<id string>
     與此程序包升級(jí)相關(guān)聯(lián)的 UUID

總結(jié):

對(duì)于javafx打包來說我就關(guān)注如何去使用前兩條命令

對(duì)于模塊化應(yīng)用程序:
jpackage -n name -p modulePath -m moduleName/className
對(duì)于非模塊化應(yīng)用程序:
jpackage -i inputDir -n name
–main-class className --main-jar myJar.jar

使用范例:
例一: jpackage -n myAppName -p myModulePath -m xzlDemo/com.xzl.JavaFxApplication
例二: jpackage -i ./ --temp tempDir --type “exe” --main-jar SipWifiMonitor-1.0-SNAPSHOT-jar-with-dependencies.jar

以上就是關(guān)于JDK14中如何使用jpackage打包命令的內(nèi)容,如果你們有學(xué)習(xí)到知識(shí)或者技能,可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI