溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下怎么創建并執行.JAR文件

發布時間:2022-02-18 09:21:18 來源:億速云 閱讀:190 作者:iii 欄目:開發技術
# Linux下怎么創建并執行.JAR文件

## 1. JAR文件簡介

JAR(Java Archive)是Java平臺的標準打包格式,用于將多個Java類文件、資源文件和元數據打包成單個文件。JAR文件基于ZIP格式,擴展名為`.jar`,常用于:

- 分發Java應用程序
- 作為庫文件使用
- 包含可執行的Java程序

## 2. 準備工作

在Linux下創建和運行JAR文件前,需要確保系統已安裝:

### 2.1 安裝Java開發環境

```bash
# 檢查Java是否安裝
java -version
javac -version

# 如果未安裝,使用以下命令安裝(以Ubuntu為例)
sudo apt update
sudo apt install default-jdk

2.2 準備Java源代碼

示例程序HelloWorld.java

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World from JAR!");
    }
}

3. 編譯Java代碼

javac HelloWorld.java

這將生成HelloWorld.class字節碼文件。

4. 創建JAR文件

4.1 基本JAR創建

jar cvf HelloWorld.jar HelloWorld.class

參數說明: - c:創建新JAR - v:顯示詳細輸出 - f:指定文件名

4.2 創建可執行JAR

需要添加清單文件MANIFEST.MF

Main-Class: HelloWorld

創建命令:

jar cvfm HelloWorld.jar MANIFEST.MF HelloWorld.class

4.3 打包多個文件

jar cvf MyApp.jar *.class resources/

4.4 查看JAR內容

jar tf HelloWorld.jar

5. 執行JAR文件

5.1 運行普通JAR

java -jar HelloWorld.jar

5.2 運行非可執行JAR

java -cp HelloWorld.jar HelloWorld

5.3 處理依賴項

當JAR依賴其他庫時:

java -cp "lib/*:MyApp.jar" com.example.MainClass

6. 高級技巧

6.1 使用Maven構建JAR

pom.xml中添加:

<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.MainClass</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>
    </plugins>
</build>

然后運行:

mvn package

6.2 創建包含依賴的Fat JAR

使用Maven Assembly插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.3.0</version>
    <configuration>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
        <archive>
            <manifest>
                <mainClass>com.example.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
    <executions>
        <execution>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

6.3 使用Gradle構建JAR

build.gradle中添加:

jar {
    manifest {
        attributes 'Main-Class': 'com.example.MainClass'
    }
    from {
        configurations.runtimeClasspath.collect { 
            it.isDirectory() ? it : zipTree(it) 
        }
    }
}

7. 常見問題解決

7.1 “no main manifest attribute”錯誤

原因:JAR缺少或包含錯誤的清單文件 解決方法:

jar uvfe HelloWorld.jar HelloWorld HelloWorld.class

7.2 類找不到錯誤

確保: 1. 類路徑正確 2. 所有依賴項可用 3. 使用完整類名(包括包路徑)

7.3 權限問題

chmod +x HelloWorld.jar

8. 最佳實踐

  1. 使用構建工具(Maven/Gradle)管理項目
  2. 為JAR文件添加版本信息
  3. 包含適當的文檔和LICENSE文件
  4. 使用標準目錄結構:
    
    src/
     main/
       java/
       resources/
    

9. 總結

在Linux環境下創建和執行JAR文件是Java開發的基本技能。通過掌握JDK工具鏈和現代構建系統,可以高效地打包和分發Java應用程序。關鍵步驟包括:

  1. 編寫和編譯Java代碼
  2. 創建包含正確清單的JAR文件
  3. 正確處理依賴關系
  4. 使用適當的命令執行JAR

隨著項目規模增長,建議使用Maven或Gradle等構建工具來自動化這些過程。 “`

這篇文章共計約1350字,涵蓋了從基礎到進階的JAR文件創建和執行方法,包括常見問題解決和最佳實踐建議。格式采用標準的Markdown語法,便于閱讀和編輯。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

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