ubuntu

Ubuntu Java编译后如何打包成jar文件

小樊
53
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 .

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
    

额外提示

使用 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
看了该问题的人还看了