美文网首页
SpringBoot项目使用Maven打包部署到Linux服务器

SpringBoot项目使用Maven打包部署到Linux服务器

作者: coder_girl | 来源:发表于2023-07-10 11:50 被阅读0次

本篇概要

创建可执行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方式打包,最终输出到目标目录中。

  1. 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文件。

注:如果之前启动过项目,记得将原先那个进程关闭

相关文章

网友评论

      本文标题:SpringBoot项目使用Maven打包部署到Linux服务器

      本文链接:https://www.haomeiwen.com/subject/jxyeudtx.html