您的位置:首页 >Debian上Java项目如何打包部署
发布于2026-04-24 阅读(0)
扫一扫,手机访问

想把 Ja va 项目稳稳当当地跑在 Debian 服务器上?这事儿说简单也简单,说讲究也讲究。下面这份流程,从环境准备到打包部署,再到进程管理和高级分发,帮你把每个环节都理清楚。
万事开头先搭台。一个稳定、一致的环境是后续所有操作的基础。
sudo apt update && sudo apt install openjdk-11-jdk。ja va -version、ja vac -version,确保版本对得上。sudo apt install ma vensudo apt install gradleecho 'JA VA_HOME=/usr/lib/jvm/ja va-11-openjdk-amd64' | sudo tee -a /etc/environmentsource /etc/environment项目代码要变成可执行的 JAR 包,主流构建工具各有各的招。这里的关键是,你要一个“胖”JAR(包含所有依赖)还是一个“瘦”JAR。
mvn clean package,产物就在 target/ 目录下等着你。pom.xml 里添加插件配置,指定好 mainClass 并选用 jar-with-dependencies 描述符。mvn clean package 即可。gradle build,产物在 build/libs/ 里。id 'com.github.johnrengelman.shadow' version '7.0.0'shadowJar { manifest { attributes 'Main-Class': 'your.main.Class' } }gradle shadowJarapp-1.0.0.jar 或 app-1.0.0-all.jar,一目了然,方便管理。包打好了,怎么让它稳定、可靠地跑起来?直接运行只适合测试,生产环境得有更专业的法子。
ja va -jar app-1.0.0.jar。sudo nano /etc/systemd/system/myapp.service[Unit]
Description=My Ja va Application
After=network.target
[Service]
Type=simple
User=appuser
ExecStart=/usr/bin/ja va -jar /opt/myapp/app-1.0.0.jar
Restart=on-failure
Environment="JA VA_OPTS=-Xms512m -Xmx1g"
[Install]
WantedBy=multi-user.targetsudo systemctl daemon-reloadsudo systemctl start|stop|restart myappsudo systemctl enable myappsudo journalctl -u myapp -fscp app-1.0.0.jar user@server:/opt/myapp/app.jarscp app-0.9.0.jar user@server:/opt/myapp/app.jar && sudo systemctl restart myappsudo ufw allow 8080/tcp(具体命令取决于你使用的防火墙工具)。如果需要把应用分发给多台 Debian/Ubuntu 机器,或者想更“原生”地管理,打成 DEB 包是个专业选择。
mkdir -p myapp_1.0-1/DEBIAN myapp_1.0-1/usr/local/bincp target/app-1.0.0.jar myapp_1.0-1/usr/local/bin/app.jarmyapp_1.0-1/DEBIAN/control:Package: myapp
Version: 1.0-1
Section: ja va
Priority: optional
Architecture: all
Depends: default-jre
Maintainer: Your Name
Description: A simple Ja va application myapp_1.0-1/DEBIAN/postinst(用于生成启动脚本):#!/bin/bash
cat >/usr/local/bin/myapp <<'EOF'
#!/bin/bash
exec ja va -jar /usr/local/bin/app.jar "$@"
EOF
chmod +x /usr/local/bin/myappchmod 755 myapp_1.0-1/DEBIAN/postinstdpkg-deb --build myapp_1.0-1debhelper 与 ja vahelper/dh_ja va 工作流。它会生成标准的 debian/ 目录(包含 control、rules、copyright 等文件),然后通过 dpkg-buildpackage 或 debuild 命令构建出符合仓库标准的 .deb 包,便于分发、升级和依赖管理。对于传统的 Ja va Web 项目,打包成 WAR 部署到 Tomcat 依然是经典路径。
mvn clean package,生成的 WAR 包位于 target/app.war。$CATALINA_HOME/webapps/$CATALINA_HOME/bin/startup.shhttp://localhost:8080/app(这里的 “app” 就是你的 WAR 文件名)。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9