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

Java 打包可執行 JAR 詳解:從編譯、清單檔到雙擊運行完整流程

     編輯:Java 綜合教學

Java 打包可執行 JAR 詳解:從編譯、清單檔到雙擊運行完整流程

將 Java 程式打包成可雙擊運行的 JAR 檔,是桌面應用分發的基礎技能。本文詳細說明帶套件編譯、建立 Manifest 清單、打包命令與常見坑點。

步驟 1:原始碼宣告套件

package ftools; // 必須與目錄結構對應

public class MenuBarDemo { ... }

步驟 2:帶套件編譯

# 在 src 目錄下執行
javac ftools/MenuBarDemo.java
# 生成 ftools/MenuBarDemo.class

步驟 3:建立 Manifest 清單檔

在與套件目錄同層(即 src 目錄)建立 config.txt(或 MANIFEST.MF):

Main-Class: ftools.MenuBarDemo

步驟 4:打包命令

# 格式:jar -cvfm   <套件目錄>
jar -cvfm ftools.jar config.txt ftools

參數說明:

  • c 建立新檔
  • v 顯示詳細過程
  • f 指定輸出檔名
  • m 引入自定 Manifest

步驟 5:驗證與運行

# 查看 JAR 內容
jar -tf ftools.jar

# 雙擊運行或命令列
java -jar ftools.jar

打包命令執行截圖

JAR 內容結構截圖

常見錯誤與解決

現象原因解決
雙擊無反應 / 報錯「找不到主類」Manifest 缺少 Main-Class 或格式錯誤檢查冒號後空格、末尾換行、類名含套件全路徑
ClassNotFoundException依賴第三方 JAR 未包含使用 maven-shade-plugin 或 one-jar 打包成 Fat JAR
中文亂碼編譯/運行編碼不一致javac -encoding UTF-8、JVM 參數 -Dfile.encoding=UTF-8

現代化建議

實務專案強烈建議使用 Maven/Gradle 管理建構生命週期:

<!-- Maven Shade Plugin 片段 -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-shade-plugin</artifactId>
  <version>3.5.0</version>
  <executions>
    <execution>
      <phase>package</phase>
      <goals><goal>shade</goal></goals>
      <configuration>
        <transformers>
          <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
            <mainClass>ftools.MenuBarDemo</mainClass>
          </transformer>
        </transformers>
      </configuration>
    </execution>
  </executions>
</plugin>

一鍵 mvn package 即可產出含依賴的可執行 JAR,避免手動操作失誤。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved