温馨提示×

Java在Ubuntu上如何打包

小樊
59
2025-08-07 08:38:02
栏目: 编程语言

在Ubuntu上打包Java项目,可根据需求选择不同方式,以下是常见方法及步骤:

1. 打包为可执行JAR文件(推荐)

适用场景:纯Java应用,需跨平台运行。

  • 工具:Maven/Gradle(需配置插件)。
  • 步骤
    • 安装工具
      sudo apt update  
      sudo apt install maven  # 或 gradle  
      
    • 配置插件(以Maven为例):
      pom.xml中添加maven-jar-plugin,指定主类:
      <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>  
      
    • 执行打包
      mvn clean package  # 生成JAR文件至target目录  
      
    • 运行
      java -jar target/your-app.jar  
      

2. 打包为.deb安装包

适用场景:需作为系统软件安装(如桌面应用)。

  • 工具dpkg-deb(需手动构建目录结构)。
  • 步骤
    • 安装依赖
      sudo apt install dpkg-dev build-essential  
      
    • 创建目录结构
      mkdir -p myapp/DEBIAN myapp/usr/bin  
      
    • 编写控制文件myapp/DEBIAN/control):
      Package: myapp  
      Version: 1.0  
      Architecture: amd64  
      Maintainer: Your Name <your@email.com>  
      Depends: openjdk-11-jre  
      Description: A Java application  
      
    • 复制文件:将JAR文件放入myapp/usr/bin/,并赋予可执行权限。
    • 打包
      cd myapp  
      dpkg-deb --build .  
      
    • 安装
      sudo dpkg -i myapp_1.0_amd64.deb  
      

3. 使用jpackage(Java 14+原生工具)

适用场景:生成平台原生安装包(如.deb、.rpm)。

  • 工具jpackage(JDK自带)。
  • 步骤
    • 安装JDK 14+
      sudo apt install openjdk-17-jdk  # 或更高版本  
      
    • 配置Maven插件(示例):
      <plugin>  
          <groupId>org.panteleyev</groupId>  
          <artifactId>jpackage-maven-plugin</artifactId>  
          <version>1.4.0</version>  
          <configuration>  
              <name>myapp</name>  
              <appVersion>1.0</appVersion>  
              <vendor>Your Company</vendor>  
              <input>target/</input>  # JAR文件路径  
              <mainJar>your-app.jar</mainJar>  
          </configuration>  
      </plugin>  
      
    • 执行打包
      mvn clean package  
      
    • 输出:生成.deb文件,可直接安装。

4. 容器化打包(Docker)

适用场景:需跨环境部署(如服务器、云平台)。

  • 工具:Docker。
  • 步骤
    • 编写Dockerfile
      FROM openjdk:11-jre-slim  
      COPY target/your-app.jar /app/app.jar  
      CMD ["java", "-jar", "/app/app.jar"]  
      
    • 构建镜像
      docker build -t myapp .  
      
    • 运行容器
      docker run -p 8080:8080 myapp  
      

选择建议

  • 简单场景:直接使用Maven/Gradle生成JAR文件(方法1)。
  • 系统级安装:选择.deb打包(方法2)或jpackage(方法3)。
  • 跨平台/云部署:优先使用Docker(方法4)。

根据项目需求选择对应方式,确保依赖和配置正确即可。

0