发布于2026-07-16 阅读(0)
扫一扫,手机访问
在CentOS上打包Ja va程序,说白了就是把你的Ja va应用和它需要的依赖们捆在一起,变成一个可以直接扔出去跑的包。要么做成可执行的JAR文件,要么干脆打包成Docker镜像——这两种做法各有各的用武之地,下面一个一个看。

如果你的项目用的是Ma ven或者Gradle,那打包这件事基本就交给它们来办,省心又标准。
在项目根目录下敲一行命令:
mvn clean package
这条命令会先清掉之前的编译产物,然后重新编译源代码,最后把所有东西打成JAR包。打包完以后,去 target 目录下就能找到那个JAR文件——名字一般是 项目名-版本号.jar。
Gradle用户也差不多:
gradle clean build
同样会执行清理、编译、打包一套流程。打包结果会出现在 build/libs 目录里。如果你在 build.gradle 里配置了 application 插件或者 spring-boot 插件,还能生成可以直接用 ja va -jar 运行的 fat JAR(把所有依赖都塞进去那种)。
光扔一个JAR文件过去,有时候还得操心对方机器上有没有装JDK、版本对不对。这时候Docker就派上用场了——把应用和运行环境一股脑打包成一个镜像,到哪都能跑。
在项目根目录新建一个 Dockerfile,内容大概长这样:
FROM openjdk:8-jdk-alpine
WORKDIR /app
COPY target/myapp.jar /app/myapp.jar
EXPOSE 8080
ENTRYPOINT ["ja va", "-jar", "myapp.jar"]
注意文件名 myapp.jar 要替换成你实际打包出来的JAR名字。基础的OpenJDK镜像版本也可以按需调整,比如换成 11-jdk-slim 或者 17-jre-alpine。
在含 Dockerfile 的目录下执行:
docker build -t myapp .
这行命令会按照Dockerfile里的指令一步步构建,最终生成一个名叫 myapp 的镜像。注意最后那个点不能丢,它表示当前目录是构建上下文。
镜像构建完成后,启动容器就很简单了:
docker run -p 8080:8080 myapp
这里 -p 8080:8080 把容器内的8080端口映射到宿主机的8080端口,这样你就能通过宿主机IP访问应用了。如果应用本身监听的是其他端口,记得替换对应的数字。
前提是CentOS上已经装好了Docker。如果还没装,可以去Docker官方文档里找对应的安装步骤,一条命令的事。
总结一下:如果只是想在本地或服务器上快速部署一个Ja va程序,打JAR包加个启动脚本就够用了;如果希望部署环境标准化、不受宿主机JDK版本影响,Docker镜像才是更稳的选择。两种方法都成熟可靠,根据实际场景灵活选用就好。
下一篇:Java编译时依赖库如何管理
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8