本文采用创建可执行jar的方式启动SpringBoot项目。
第一步,配置maven插件
<packaging>jar</packaging> <!--打成jar包 -->
<build>
<!--打成jar包的名称-->
<finalName>fireworks</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.5.RELEASE</version>
</plugin>
<plugin>
<!--排除测试类对打包的干扰-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
第二步:mvn package或mvn install
mvn package 和 mvn install的区别:
package将会编译代码,并打包,最终按照maven规定的packaging方式打包,最终输出到目标目录中。
install同样也会编译,并打包,但之后install还会将打好的包安装在本地仓库,供其他项目使用。
执行mvn clean,移除之前的target目录
mvn clean
# 切换到项目路径下,执行mvn package指令
mvn package
# 或者使用下面这个,可以跳过测试,直接打包
mvn clean install -Dmaven.test.skip=true
最终jar包输出到D:\Java_Project\firework2.0\target\目录下。进入该目录,会发现存在两个文件:fireworks.jar(项目名称的包)和fireworks.jar.original。
fireworks.jar就是我们所说的可执行的jar,包含已编译的类和运行需要的所有jar依赖,如果你想看看里面有啥,可以通过如下命令:
// 查看里面有啥
$ jar tvf target/fireworks.jar
// 启动项目
$ java -jar fireworks.jar
第三步:将jar包上传至远程服务器
这里使用winSCP,无论使用哪种工具,只要能够将文件上传到远程服务器上就可以
第四步:在远程服务器上执行jar包
https://blog.csdn.net/LC_Liangchao/article/details/121907445
nohup java -jar fireworks-0.0.1-SNAPSHOT.jar & # 后台启动jar
## >/dev/null 2>&1 & 表示每日把日志打包,创建一个空的日志文件
nohup java -jar zycx-applet-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &
注:如果之前启动过项目,记得将原先那个进程关闭:
ps -ef|grep java 或者是用 ps aux
kill -9 pid
-9 表示强制关闭这个进程
拓展:开启远程调试的发布
一些注意事项
开启项目端口号(防火墙firewall的使用)
示例: 我的项目端口号为10010
#打开10010端口号 --permanent表示永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=10010/tcp --permanent
#重新载入
firewall-cmd --reload
#查看所有打开的端口:
firewall-cmd --zone=public --list-ports
查看内存情况
free -m
查看运行情况
tail -f filename(日志名)
通过最新的日志是.out结尾