溫馨提示×

Ubuntu Java編譯后如何打包成jar文件

小樊
41
2025-09-08 18:55:26
欄目: 編程語言

在 Ubuntu 上,使用 Java 編譯源代碼后,可以使用 jar 命令將編譯后的 .class 文件打包成 .jar 文件。以下是詳細步驟:

1. 編譯 Java 源代碼

首先,確保你已經安裝了 Java Development Kit (JDK)。你可以使用以下命令檢查是否已安裝:

java -version
javac -version

如果尚未安裝,可以使用以下命令安裝 OpenJDK:

sudo apt update
sudo apt install openjdk-17-jdk

假設你的 Java 源代碼位于 src 目錄下,并且你希望將編譯后的類文件輸出到 bin 目錄:

mkdir -p bin
javac -d bin src/*.java

這會將所有 .class 文件編譯并放置在 bin 目錄中。

2. 創建清單文件(可選)

如果你希望生成的 .jar 文件可以指定主類(即包含 main 方法的類),需要創建一個清單文件(MANIFEST.MF)。例如,假設你的主類是 com.example.Main,可以按照以下步驟操作:

  1. 創建一個文本文件 manifest.txt

    nano manifest.txt
    
  2. 在文件中添加以下內容,并替換 com.example.Main 為你的實際主類:

    Main-Class: com.example.Main
    

    保存并退出編輯器(在 nano 中按 Ctrl + O 保存,Ctrl + X 退出)。

3. 打包成 JAR 文件

使用 jar 命令將編譯后的類文件和清單文件打包成 .jar 文件。

方法一:不使用清單文件

如果你不需要指定主類,可以直接打包:

jar cf myapp.jar -C bin .

這會將 bin 目錄下的所有內容打包到 myapp.jar 中。

方法二:使用清單文件

如果需要指定主類,可以使用以下命令:

jar cfm myapp.jar manifest.txt -C bin .
  • c:創建新的歸檔文件。
  • f:指定歸檔文件名。
  • m:包含指定的清單文件。
  • -C bin .:切換到 bin 目錄,并將當前目錄(即 bin)的內容添加到歸檔中。

4. 運行 JAR 文件

打包完成后,可以使用以下命令運行 .jar 文件:

java -jar myapp.jar

示例總結

假設你的項目結構如下:

project/
├── src/
│   └── com/example/Main.java
└── bin/

步驟:

  1. 編譯:

    mkdir -p bin
    javac -d bin src/com/example/Main.java
    
  2. 創建清單文件 manifest.txt

    Main-Class: com.example.Main
    
  3. 打包:

    jar cfm myapp.jar manifest.txt -C bin .
    
  4. 運行:

    java -jar myapp.jar
    

額外提示

  • 依賴管理:如果你的項目依賴于外部庫,打包成可執行的 JAR(即包含所有依賴的“胖 JAR”)會更加方便??梢允褂脴嫿üぞ呷?MavenGradle 來自動化這一過程。

  • 使用構建工具:對于復雜的項目,建議使用 Maven 或 Gradle 來管理依賴、編譯和打包過程。這些工具提供了更強大的功能和更好的可維護性。

使用 Maven 打包 JAR 示例

如果你選擇使用 Maven,以下是基本步驟:

  1. 安裝 Maven

    sudo apt install maven
    
  2. 創建 Maven 項目結構

    project/
    ├── pom.xml
    └── src/
        └── main/
            └── java/
                └── com/example/Main.java
    
  3. 編寫 pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" 
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
                                 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>com.example</groupId>
        <artifactId>myapp</artifactId>
        <version>1.0-SNAPSHOT</version>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>3.2.0</version>
                    <configuration>
                        <archive>
                            <manifest>
                                <mainClass>com.example.Main</mainClass>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </project>
    
  4. 編譯并打包

    cd project
    mvn clean package
    

    打包完成后,生成的 JAR 文件位于 target/ 目錄下。

使用 Maven 或 Gradle 可以大大簡化項目的構建和管理過程,特別是當項目規模增大或依賴增多時。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女