欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

將java程序打包成可執(zhí)行文件的實(shí)現(xiàn)方式

 更新時(shí)間:2025年02月24日 15:45:22   作者:jforgame  
本文介紹了將Java程序打包成可執(zhí)行文件的三種方法:手動(dòng)打包(將編譯后的代碼及JRE運(yùn)行環(huán)境一起打包),使用第三方打包工具(如Launch4j)和JDK自帶工具(jpackage),每種方法都有其優(yōu)缺點(diǎn),可根據(jù)實(shí)際需求選擇合適的方式

1.問題提出

當(dāng)你寫了一個(gè)很炫酷的java小游戲,你迫不及待想給朋友分享。然而,你發(fā)給朋友之后,他卻表示無法執(zhí)行。因?yàn)槲覀儫o法保證其他人的電腦上已經(jīng)安裝了java運(yùn)行環(huán)境。

所以,我們有哪些方法把我們的炫酷代碼分享給朋友呢?

2.如何將java程序打包成可執(zhí)行文件

這里介紹兩種方式。

2.1將編譯后的代碼及jre運(yùn)行環(huán)境一起打包

1. 將程序編譯后,拷貝一份jre環(huán)境,放在同一個(gè)文件目錄下,如下圖所示

2. 新建一個(gè)文件,命名為start.bat。輸入以下內(nèi)容

set Path="jre1.8.0_261\bin" 
java Main
pause

解釋下這幾句批處理代碼

  • 第一句:設(shè)置局部環(huán)境變量(常規(guī)jdk環(huán)境變量是全局配置)。由于此處環(huán)境變量的作用只在此處運(yùn)行代碼有效,所以只引入jre配置則可。
  • 第二句:運(yùn)行java類文件或者jar文件(按實(shí)際情況修改成別的啟動(dòng)命令)
  • 第三句:暫停該批處理程序(沒有這一句程序會(huì)一閃而過)

2.2使用第三方打包工具

可以使用第三方打包工具,直接打包成系統(tǒng)可執(zhí)行文件,例如windows的exe程序。

下面以launch4j作為演示,下載地址:launch4j官網(wǎng)

  • 打開Launch4j,點(diǎn)擊"New configuration file"新建一個(gè)配置文件;
  • 設(shè)置輸入選項(xiàng),指定主類名稱和JRE路徑;
  • 添加輸出選項(xiàng),指定生成的EXE文件名稱和位置;
  • 完成配置后,點(diǎn)擊"Build wrapper"構(gòu)建wrapper;
  • 最后點(diǎn)擊"Save config as..."保存配置文件。

根據(jù)自己的需求修改配置文件中的參數(shù),然后點(diǎn)擊"Build"按鈕就可以生成可執(zhí)行的EXE文件了。

launch4j的功能很完善,可以定制程序圖標(biāo),設(shè)置運(yùn)行jvm參數(shù)等等,也支持把jre一起打進(jìn)程序或者從指定網(wǎng)站下載。

2.3使用jdk自帶的jpackage工具

jpackage 是從 Java 14 開始提供的一個(gè)工具,它允許開發(fā)者為 Java 應(yīng)用程序生成特定系統(tǒng)平臺(tái)的可執(zhí)行程序,而不需要在目標(biāo)系統(tǒng)上預(yù)先安裝 Java 運(yùn)行時(shí)環(huán)境(JRE)。

jpackage 通過將 JRE 和應(yīng)用程序的 JAR 文件以及所有必要依賴項(xiàng)打包在一起,生成特定平臺(tái)的可執(zhí)行程序,例如 Windows 上的 .exe 文件或 macOS 上的 .dmg 文件。

使用 jpackage 的好處包括:

  1. 無需安裝 Java:用戶無需在本地安裝 Java 即可運(yùn)行應(yīng)用程序。
  2. 易于分發(fā):生成的可執(zhí)行文件或安裝程序可以輕松地在目標(biāo)平臺(tái)上分發(fā)和安裝。
  3. 自定義jpackage 支持自定義應(yīng)用名稱、圖標(biāo)等,提供了豐富的自定義選項(xiàng)。
  4. 跨平臺(tái):雖然每種格式必須在相應(yīng)的平臺(tái)上構(gòu)建,但 jpackage 本身支持跨平臺(tái)生成不同的包格式。

基本的 jpackage 使用示例如下:

jpackage --input . --name YouAppName --main-jar yourapp.jar

對(duì)于 Windows 平臺(tái),jpackage 需要 WiX 工具來生成安裝程序,并且可能需要額外的參數(shù)來指定控制臺(tái)模式、快捷方式等2。

此外,jpackage 可以與 jlink 工具結(jié)合使用,創(chuàng)建自定義的 Java 運(yùn)行時(shí)映像,進(jìn)一步減小應(yīng)用程序的大小并優(yōu)化性能3。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot實(shí)戰(zhàn)之實(shí)現(xiàn)結(jié)果的優(yōu)雅響應(yīng)案例詳解

    SpringBoot實(shí)戰(zhàn)之實(shí)現(xiàn)結(jié)果的優(yōu)雅響應(yīng)案例詳解

    這篇文章主要介紹了SpringBoot實(shí)戰(zhàn)之實(shí)現(xiàn)結(jié)果的優(yōu)雅響應(yīng)案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • 后端返回各種圖片形式在前端的轉(zhuǎn)換及展示方法對(duì)比

    后端返回各種圖片形式在前端的轉(zhuǎn)換及展示方法對(duì)比

    這篇文章主要給大家介紹了關(guān)于后端返回各種圖片形式在前端的轉(zhuǎn)換及展示方法對(duì)比的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 關(guān)于SpringBoot中的XA事務(wù)詳解

    關(guān)于SpringBoot中的XA事務(wù)詳解

    這篇文章主要介紹了關(guān)于SpringBoot中的XA事務(wù)詳解,事務(wù)管理可以確保數(shù)據(jù)的一致性和完整性,同時(shí)也可以避免數(shù)據(jù)丟失和沖突等問題。在分布式環(huán)境中,XA?事務(wù)是一種常用的事務(wù)管理方式,需要的朋友可以參考下
    2023-07-07
  • java實(shí)現(xiàn)簡單猜數(shù)字游戲

    java實(shí)現(xiàn)簡單猜數(shù)字游戲

    這篇文章主要介紹了java實(shí)現(xiàn)簡單猜數(shù)字游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • 強(qiáng)烈推薦 5 款好用的REST API工具(收藏)

    強(qiáng)烈推薦 5 款好用的REST API工具(收藏)

    市面上可用的 REST API 工具選項(xiàng)有很多,我們來看看其中一些開發(fā)人員最喜歡的工具。本文通過圖文實(shí)例代碼相結(jié)合給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2020-12-12
  • java截取圖片示例

    java截取圖片示例

    這篇文章主要介紹了java截取圖片示例,把代碼中的圖片路徑改成自己的圖片,運(yùn)行就可以看到效果了,需要的朋友可以參考下
    2014-03-03
  • 帶你重新認(rèn)識(shí)Java動(dòng)態(tài)代理

    帶你重新認(rèn)識(shí)Java動(dòng)態(tài)代理

    這篇文章主要為大家介紹了Java的動(dòng)態(tài)代理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Java實(shí)現(xiàn)文件上傳與文件下載的示例代碼

    Java實(shí)現(xiàn)文件上傳與文件下載的示例代碼

    在開發(fā)中項(xiàng)目難免會(huì)遇到文件上傳和下載的情況,這篇文章主要為大家詳細(xì)介紹了Java中實(shí)現(xiàn)文件上傳與文件下載的示例代碼,希望對(duì)大家有所幫助
    2023-07-07
  • Spring mvc服務(wù)端數(shù)據(jù)校驗(yàn)實(shí)現(xiàn)流程詳解

    Spring mvc服務(wù)端數(shù)據(jù)校驗(yàn)實(shí)現(xiàn)流程詳解

    這篇文章主要介紹了Spring mvc服務(wù)端數(shù)據(jù)校驗(yàn)實(shí)現(xiàn)流程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Java自定義比較器實(shí)現(xiàn)中文排序

    Java自定義比較器實(shí)現(xiàn)中文排序

    這篇文章主要介紹了Java自定義比較器實(shí)現(xiàn)中文排序,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08

最新評(píng)論