SpringBoot项目使用Maven打包部署到Linux服务器
2023-07-10 本文已影响0人
coder_girl
本篇概要
创建可执行jar的方式启动SpringBoot项目并部署到远程服务器上。
部署流程:
1.在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>
2.在命令行执行mvn package或者mvn install 命令打包
mvn package 和mvn install的区别:
1.package将会编译代码,并打包,最终按照maven规定的packaging方式打包,最终输出到目标目录中。
- install同样也会编译,并打包,但之后install还会将打好的包安装在本地仓库,供其他项目使用。
# 执行mvn clean,移除之前的target目录
mvn clean
# 切换到项目路径下,执行mvn package指令
mvn package
最终jar包在target目录下。进入target目录会发现存在两个文件:XXX.jar 和 XXX.jar..original.
.jar:可执行的jar包,包含已编译的类以及运行所需要的所有jar依赖
可以通过:$ jar tvf target/XXX.jar 查看里面都包含什么
.jar.original比前者小的多,这是Maven在Spring Boot进行repackage之前创建的原始jar文件,通过上面的命令,可以看到里面没有运行需要的依赖,只包含我们定义的类编译后的.class文件。
运行jar命令:$ java -jar XXX.jar
3.将jar上传服务器
4.在服务器上执行jar包
nohup java -jar your-jar-file.jar > /dev/null 2>&1 &
其中,your-jar-file.jar是您要启动的JAR文件的名称。
这个命令中的nohup表示不挂断地运行命令,> /dev/null 2>&1表示将标准输出和标准错误输出重定向到/dev/null,以防止输出被打印到终端上。最后的&表示将命令放入后台运行。
请确保您已经在命令行中进入了JAR文件所在的目录,然后执行上述命令即可在后台启动JAR文件。
注:如果之前启动过项目,记得将原先那个进程关闭