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

Java JAR 打包完整教學:命令行與 Eclipse 兩種方式詳解

     編輯:Java 相關知識

前言

將 Java 專案打包為可執行 JAR 是部署的基本技能。本文涵蓋命令行 jar 指令與 Eclipse 圖形化導出,並說明如何處理外部依賴庫。

1. 命令行打包

基本語法

jar {ctxui}[vfm0Mi] [jar-file] [manifest-file] [-C dir] files...
選項說明
-c建立新封存檔
-t列出封存內容
-x解壓縮檔案
-u更新現有封存檔
-v產生詳細輸出
-f指定封存檔名稱
-m包含指定 Manifest 資訊
-0僅儲存,不壓縮
-M不建立 Manifest 檔案

常用範例

# 將 Foo.class, Bar.class 打包成 classes.jar
jar cvf classes.jar Foo.class Bar.class

# 使用現有 manifest,將 foo/ 目錄下所有檔案打包
jar cvfm classes.jar mymanifest -C foo/ .

執行 JAR

java -jar test.jar
# 將輸出導向 log.txt
java -jar test.jar > log.txt

2. Eclipse 圖形化導出

情況一:無外部依賴

  1. 右鍵專案 → Export → Java → JAR file
  2. 選擇匯出路徑與檔名
  3. 下一步 → 下一步 → 選擇 Main class → Finish

情況二:含外部 JAR 依賴(需手動配置 Manifest)

  1. 先產生 Manifest 檔:Export → JAR file → 勾選 Generate the manifest file → Save in workspace(如 /MyProject/MANIFEST.MF)
  2. 編輯產生的 MANIFEST.MF:
Manifest-Version: 1.0
Main-Class: com.example.Main
Class-Path: lib/jxl.jar lib/other.jar
  1. 再次 Export → JAR file → 勾選 Use existing manifest from workspace → 選擇剛建立的 Manifest → Finish
  2. 確保 Class-Path 中的 JAR 與輸出 JAR 放在同一目錄

3. 進階:Maven/Gradle 專案建議

現代專案建議使用建構工具自動打包:

  • Maven:mvn package(配合 maven-shade-plugin 或 maven-assembly-plugin 產生 Fat JAR)
  • Gradle:./gradlew shadowJar(需 com.github.jengelman.gradle.plugins.shadow 外掛)

4. 常見坑點

  • Manifest 最後一行必須換行,否則不生效。
  • Class-Path 路徑以空格分隔,相對路徑基於 JAR 所在目錄。
  • Java 9+ 模組化系統可能需額外配置 --add-modules。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved