Ubuntu20.04.LTS:springboot项目代码打包部署到服务器,启动和停止
要有root权限!!!不然可能会bulid不成功
项目打包(jar)
- Maven默认会将项目打成jar包,也可以在pom.xml文件中指定打包方式。配置示例如下:
<groupId>com.codewater</groupId> <artifactId>spring-boot-package</artifactId> <version>1.0.0</version> <name>spring-boot-package</name> <!--指定打包方式,其实可以不写,因为默认的就是jar包--> <packaging>jar</packaging>
- 在项目根目录下,在控制台执行如下命令:
mvn clean package -Dmaven.test.skip=true
mvn clean package其实是两条命令,mvn clean是清除项目target目录下的文件,mvn package打包命令。两个命令可以一起执行。
-Dmaven.test.skip=true:排除测试代码后进行打包。
命令执行完成后,jar包会生成到target目录下,命名一般是“项目名+版本号.jar”的形式。如下图所示。
- 把这个jar包传到服务器,我用的xftp,直接拖。
- 首先添加可执行权限,
chmod a+x jar包名
。a+x
意思是给所有用户添加可执行权限。 - 执行
# 在当前项目的目录下执行 java -jar ./XXX项目-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod # prod指定生产环境
- 上面那个命令有个问题,窗口关掉之后程序就会停止,所以所用下面这个让程序一直在后台运行
nohup java -jar ./XXX项目-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod &
jps
和netstat -ntlp
也能查看到java程序的运行
Maven打包生成
- 直接从远程拉取到代码之后,用
mvn package -DskipTests
执行构建项目!
(这个命令也是忽略测试类) - 然后就是进入到target目录,这里也要把jar包添加可执行权限,上面有。然后就是一样的操作了
停止程序运行
其实就是查询到进程的pid,然后kill掉。
- 查询xxx1的进程号,
ps -ef | grep xxx1 # 这个信息多 ps -C 查询的程序-o pid # 这个查出来的结果只有进程pid
- 再通过kill -s 9 ${pid} 进行杀死
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix