目 录
③修改maven-resources-plugin的版本(非必需)
1. Springboot项目打包方式介绍
Springboot项目打包有两种方式:分别是打包成 jar 包和 war 包。
区别:打包成jar包是不需要在服务器上安装 tomcat 的,因为 springboot 项目是集成了 tomcat;而打包成war包需要放到服务器 tomcat 中的 webapps 目录下。
现比较流行打包成jar包,本文以打包成jar包为例。
2. 准备工具
①WinSCP:用于上传jar包到服务器上;
②Xshell 6:用于远程连接 。
3. 修改项目配置文件
①添加Maven配置生成jar包
<groupId>com.ljh</groupId>
<artifactId>news-system</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
②配置最后生成的包名
<build>
<finalName>newssystem</finalName>
</build>
指定:Main-Class主类
解决报错:No main manifest attribute, in XXX.java
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!--在这里修改版本-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
</plugin>
<!---->
</plugins>
</build>
③修改maven-resources-plugin的版本(非必需)
若出现 Springboo t打包出错:
failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0
解决方法:修改 maven-resources-plugin 的版本即可
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.4.3</version>
</plugin>
④修改tomcat服务端口
tomcat 默认服务端口为:8080
因为服务器上也安装了 tomcat 占用 8080 默认端口,且Springboot项目中内置 tomcat;这里使用的内置的 tomcat,所以将项目中的服务端口修改成其它的,例如:8090
#修改tomcat默认服务端口
server.port=8090
4. 利用Maven工具进行打包
①package打包
在 IDEA 中的 Maven 工具窗口,先点击 clean 清除之前生成的包(之前没生成过则不需要此步骤),再点击 package 进行打包。
②生成的jar包存放路径
打包好的 jar 包自动放在:项目名>target>xxx.jar。
③上传jar包到服务器上
本地的 jar 包 WinSCP 工具从本地 Windows 上传到服务器 Linux 上。
本项目是上传到服务器的 /home 文件夹下
5. 服务器上部署项目
利用Xshell 6进行远程连接
①在服务器上开启8090端口
②在服务器上运行SpringBoot项目命令
java -jar jar包全名
本项目是:java -jar newssystem.jar
③利用终端实现项目运行
我们可以看到,项目在服务器上已运行成功。但是用这种方式运行项目,虽然也可以访问项目,但是只要断开终端连接,就无法访问到项目,没有实现项目的持续运行。
6. 自动化持续运行项目
使项目不挂断持续运行在服务器后台需要两个命令:nohup 、&
nohup:在系统后台不挂断地运行命令,退出终端时不影响程序的运行;
&:使命令在后台执行,终端退出后命令仍继续执行。
①新建自动化脚本文件
新建脚本文件命令:
vim 脚本名称.sh
本项目是新建文件:vim newssystem.sh
②编写自动化脚本文件
按 i 进入 INSERT 模式后,输入脚本内容:
nohup java -jar /jar路径 &
本项目是:nohup java -jar /home/newssystem.jar &
③保存脚本
按 Esc 键退出 INSERT 模式,再按下 Shift+冒号,输入 wq+回车 保存并退出。
④运行脚本
运行编写的脚本命令
sh 脚本名称.sh
本项目是:sh newssystem.sh
⑤查看进程
查看项目是否运行
ps -aux | grep jar包名称
本项目是: ps -aux | grep newssystem
可以看到脚本文件持续运行,只要服务器能够正常运行,不需要保持终端连接,也可以一直访问到项目。
7. 访问项目
通过 服务器公网IP:项目端口号 部署服务器上的SpringBoot项目