首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

打造可雙擊執行的 JAR 包完整指南

     編輯:Java 相關知識

場景

將 Java 程式打包成可雙擊運行的 JAR,免去命令行 java -cp ... MainClass 的麻煩。

步驟演示

1. 編譯源碼

C:\demo> javac MyMenuTest.java

產生多個 .class 文件(含內部類)。

2. 加入包結構

在源文件首行添加包聲明:

package mymenu;

重新編譯並指定輸出目錄:

C:\demo> javac -d . MyMenuTest.java

生成的 class 文件將位於 ./mymenu/ 目錄下。

3. 創建 Manifest 文件

在 mymenu 所在目錄新建文本文件(如 manifest.txt),內容:

Main-Class: mymenu.MyMenuTest

關鍵規則:

  • 冒號後必須有一個空格。
  • 文件必須以換行符結尾(即最後一行也要換行)。

4. 打包命令

C:\demo> jar -cvfm my.jar manifest.txt mymenu

參數說明:

  • c:創建新檔案
  • v:顯示詳細過程
  • f:指定輸出文件名
  • m:引入自定義 Manifest

5. 驗證運行

雙擊 my.jar 或命令行:

java -jar my.jar

程式正常啟動,打包成功。

常見坑點避雷

現象原因解決
雙擊無反應未關聯 javaw.exe / JRE 未安裝安裝 JRE,或用命令行運行排查
找不到主類Manifest 格式錯誤(缺空格/換行)嚴格遵循「冒號+空格」、「末尾換行」
ClassNotFoundException包路徑與 Manifest 主類不一致確保 package、目錄結構、Manifest 三者一致

進階:Maven 打包插件

實際專案建議使用 maven-shade-plugin 或 maven-jar-plugin 配置 Main-Class,構建過程自動生成可執行 JAR。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-jar-plugin</artifactId>
  <configuration>
    <archive>
      <manifest>
        <mainClass>mymenu.MyMenuTest</mainClass>
      </manifest>
    </archive>
  </configuration>
</plugin>
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved