在Ubuntu上打包Java项目,可根据需求选择不同方式,以下是常见方法及步骤:
适用场景:纯Java应用,需跨平台运行。
sudo apt update
sudo apt install maven # 或 gradle
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
适用场景:需作为系统软件安装(如桌面应用)。
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
myapp/usr/bin/
,并赋予可执行权限。cd myapp
dpkg-deb --build .
sudo dpkg -i myapp_1.0_amd64.deb
适用场景:生成平台原生安装包(如.deb、.rpm)。
jpackage
(JDK自带)。sudo apt install openjdk-17-jdk # 或更高版本
<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
文件,可直接安装。适用场景:需跨环境部署(如服务器、云平台)。
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
根据项目需求选择对应方式,确保依赖和配置正确即可。