最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

將Java應(yīng)用做成exe可執(zhí)行軟件的流程步驟

 更新時(shí)間:2025年04月30日 11:10:20   作者:多加點(diǎn)辣也沒關(guān)系  
這篇文章主要介紹了如何將Java程序打包成可執(zhí)行的exe文件,通過配置Maven、編寫批處理文件、使用Bat_To_Exe_Converter工具將批處理文件轉(zhuǎn)換為exe文件,實(shí)現(xiàn)雙擊啟動(dòng)的效果,感興趣的小伙伴跟著小編一起來(lái)看看吧

前言

最近使用 GUI 幫朋友寫了一個(gè)軟件,為了方便他處理工作上的重復(fù)性且很麻煩的事情,程序是使用 Java 寫的,就不得不面對(duì)一個(gè)問題:我必須將這個(gè)程序打包成一個(gè)可執(zhí)行的軟件給到他,總不能讓他下載個(gè) IDEA 啟動(dòng)或者去通過 java -jar 這種命令去啟動(dòng)的吧,以下內(nèi)容就是關(guān)于如何將 java 程序做成一個(gè)可執(zhí)行軟件的想法與實(shí)現(xiàn)

一、情景介紹

先簡(jiǎn)單的介紹以下這個(gè)項(xiàng)目,主要用到的技術(shù)就是 GUI,一項(xiàng)很古老的技術(shù),現(xiàn)在應(yīng)該沒有多少人會(huì)去用這些技術(shù),我選擇這個(gè)技術(shù)的主要原因就是不用去寫那么多的前端代碼,上手快,然后沒有使用到數(shù)據(jù)庫(kù)(我不能要求我朋友去裝一個(gè)數(shù)據(jù)庫(kù)吧),數(shù)據(jù)全部存在 excel 文件中,使用 easyExcel 去讀取數(shù)據(jù),poi 去寫數(shù)據(jù),接著就是使用 Maven 去管理我所有的依賴包,這就是這個(gè)程序所用到的全部技術(shù)了。

在這里插入圖片描述

IDEA 中我可以直接去啟動(dòng)這個(gè)程序,如果不使用這些編程軟件去啟動(dòng)這個(gè)程序,我也可以通過命令行去啟動(dòng),所有我先考慮將程序打成 Jar 包,然后寫一個(gè) bat 腳本通過 java -jar 的方式啟動(dòng)這個(gè) Jar 包,再通過 Bat_To_Exe_Converter 將這個(gè) bat 程序轉(zhuǎn)成 exe 的可執(zhí)行軟件即可。

在這里插入圖片描述

bin 目錄下就是這個(gè)程序的 jar 包,database 是程序相關(guān)的數(shù)據(jù)庫(kù)(excel 表格),icon 是圖標(biāo),temp 是程序產(chǎn)生的臨時(shí)文件存放目錄

這樣就能實(shí)現(xiàn)雙擊 DJL.exe 打開我的程序,也可以創(chuàng)建一個(gè)快捷方式放在桌面上啟動(dòng)

在這里插入圖片描述

二、實(shí)現(xiàn)步驟

1. 打 Jar 包

首先我需要將這個(gè)程序打成 Jar 包,在打包前需要在 mavenpom 文件中配置項(xiàng)目的啟動(dòng)入口以及將項(xiàng)目所有依賴都打到一個(gè) Jar 包中,配置如下:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-shade-plugin</artifactId>
                <version>3.2.4</version>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>shade</goal>
                        </goals>
                        <configuration>
                            <filters>
                                <filter>
                                    <artifact>*:*</artifact>
                                    <excludes>
                                        <exclude>META-INF/*.SF</exclude>
                                        <exclude>META-INF/*.DSA</exclude>
                                        <exclude>META-INF/*.RSA</exclude>
                                    </excludes>
                                </filter>
                            </filters>
                            <transformers>
                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                                    <mainClass>com.mike.gui.Start</mainClass> <!-- 替換為你的主類 -->
                                </transformer>
                            </transformers>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

然后通過 Maveninstall 生成 Jar

在這里插入圖片描述

找一個(gè)文件夾存放該 Jar 包,命名文件夾名稱為 bin

在這里插入圖片描述

2. 編寫 bat 批處理文件

創(chuàng)建一個(gè) run.txt 文件,編寫以下命令通過 java -jar 命令啟動(dòng)你的 jar 程序

@echo off
title YOUR-APP-NAME
java -jar bin/DJL-GUI-1.0-SNAPSHOT.jar
pause

然后修改 run.txtrun.bat

在這里插入圖片描述

這個(gè)時(shí)候通過雙擊 run.bat 批處理文件我們也能直接啟動(dòng)該程序

在這里插入圖片描述

但是啟動(dòng)文件之后會(huì)彈出一個(gè)資源管理器的窗口,我不希望它出現(xiàn),所以就需要將 bat 文件轉(zhuǎn)換成 exe 文件

3. bat 轉(zhuǎn) exe

我們可以通過 Bat_To_Exe_Converter.exe 軟件將 bat 文件 轉(zhuǎn)換成 exe

軟件可在官方網(wǎng)址:https://www.f2ko.de/en/applications/bat-to-exe-converter/ 上獲取

打開軟件,Open 選擇上一步編寫的 run.bat 文件

在這里插入圖片描述

你可以選擇軟件的圖標(biāo),不過這個(gè)圖標(biāo)的格式要求是 ico 的文件,可以通過 https://www.bitbug.net/ 在線制作 ico 圖標(biāo)

在這里插入圖片描述

再點(diǎn)擊 Convert 選擇存放 exe 文件的路徑和名稱,即可進(jìn)行轉(zhuǎn)換

在這里插入圖片描述

如下所示:

在這里插入圖片描述

這樣的話我只要將該可執(zhí)行文件所在的目錄壓縮發(fā)給別人,別人就能通過雙擊該 exe 文件來(lái)啟動(dòng)我的程序了,但是還有一個(gè)問題就是我并沒有將 JDK 也放進(jìn)這個(gè) exe 文件中,所以還得配置 Java 環(huán)境 ,后續(xù)需要的話再優(yōu)化一下

以上便是將 Java 應(yīng)用一步步變成 exe 可執(zhí)行文件的全過程

以上就是將Java應(yīng)用做成exe可執(zhí)行軟件的流程步驟的詳細(xì)內(nèi)容,更多關(guān)于Java應(yīng)用做成exe可執(zhí)行軟件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot緩存注解之@Cacheable/@CacheEvict使用方式

    SpringBoot緩存注解之@Cacheable/@CacheEvict使用方式

    本文介紹了SpringBoot緩存注解的使用,包括Cacheable、CacheEvict、CachePut和Cache組合等,主要解釋了使用緩存注解的優(yōu)勢(shì)和使用方式,提供了實(shí)際使用場(chǎng)景,并給出了使用緩存時(shí)的一些注意事項(xiàng),最后總結(jié)了Cacheable、CacheEvict和CachePut三種注解的使用場(chǎng)景
    2026-05-05
  • Spring?AOP核心功能示例代碼詳解

    Spring?AOP核心功能示例代碼詳解

    AOP面向切面編程,它是一種思想,它是對(duì)某一類事情的集中處理,而AOP是一種思想,而Spring?AOP是一個(gè)框架,提供了一種對(duì)AOP思想的實(shí)現(xiàn),它們的關(guān)系和loC與DI類似,這篇文章主要介紹了Spring?AOP統(tǒng)一功能處理示例代碼,需要的朋友可以參考下
    2023-02-02
  • Java源碼解析之ConcurrentHashMap

    Java源碼解析之ConcurrentHashMap

    今天帶大家分析Java源碼,文中對(duì)Java ConcurrentHashMap介紹的非常詳細(xì),有代碼示例,對(duì)正在學(xué)習(xí)Java的小伙伴們有很好的幫助,需要的朋友可以參考下
    2021-05-05
  • SpringBoot實(shí)現(xiàn)Logback輸出日志到Kafka方式

    SpringBoot實(shí)現(xiàn)Logback輸出日志到Kafka方式

    本文介紹了如何在SpringBoot應(yīng)用中通過自定義Appender實(shí)現(xiàn)Logback輸出日志到Kafka,包括配置maven依賴、Kafka工具類和logback.xml配置
    2025-02-02
  • Spring security實(shí)現(xiàn)對(duì)賬戶進(jìn)行加密

    Spring security實(shí)現(xiàn)對(duì)賬戶進(jìn)行加密

    這篇文章主要介紹了Spring security實(shí)現(xiàn)對(duì)賬戶進(jìn)行加密,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java8中Stream流求最大值最小值的實(shí)現(xiàn)示例

    Java8中Stream流求最大值最小值的實(shí)現(xiàn)示例

    本文主要介紹了Java8中Stream流求最大值最小值的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • springboot集成screw反向生成數(shù)據(jù)庫(kù)說明文檔

    springboot集成screw反向生成數(shù)據(jù)庫(kù)說明文檔

    screw是一個(gè)一鍵式生成數(shù)據(jù)庫(kù)文檔的開源工具包,目前screw可以生成word、md和html格式類的文檔,本文主要來(lái)講講如何通過screw反向生成數(shù)據(jù)庫(kù)說明文檔,感興趣的可以了解下
    2025-01-01
  • java使用URLDecoder和URLEncoder對(duì)中文字符進(jìn)行編碼和解碼

    java使用URLDecoder和URLEncoder對(duì)中文字符進(jìn)行編碼和解碼

    這篇文章主要介紹了java 使用 URLDecoder 和 URLEncoder 對(duì)中文字符進(jìn)行編碼和解碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Java判斷磁盤空間和分區(qū)表是否需要清理

    Java判斷磁盤空間和分區(qū)表是否需要清理

    這篇文章主要為大家詳細(xì)介紹了如何使用Java編寫一個(gè)工具類,可以判斷磁盤空間和分區(qū)表是否需要清理,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-07-07
  • Java調(diào)用C++動(dòng)態(tài)庫(kù)超詳細(xì)步驟講解(附源碼)

    Java調(diào)用C++動(dòng)態(tài)庫(kù)超詳細(xì)步驟講解(附源碼)

    C語(yǔ)言因其高效和接近硬件的特性,時(shí)常會(huì)被用在性能要求較高或者需要直接操作硬件的場(chǎng)合,這篇文章主要介紹了Java調(diào)用C++動(dòng)態(tài)庫(kù)的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04

最新評(píng)論

乐陵市| 建水县| 营山县| 化隆| 十堰市| 东港市| 乌兰察布市| 青州市| 张家港市| 沅陵县| 无锡市| 宜黄县| 绥阳县| 北票市| 出国| 博兴县| 文昌市| 永川市| 托克托县| 喜德县| 武鸣县| 长顺县| 保山市| 定西市| 松江区| 安泽县| 吴忠市| 府谷县| 嘉峪关市| 彭水| 北京市| 高雄市| 司法| 合阳县| 泰来县| 桦川县| 河间市| 甘孜县| 从化市| 浦城县| 搜索|