springboot项目以jar包的形式发布

springboot其实提供jar或者war包的形式去发布一个项目。

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!--<scope>provided</scope>-->
        </dependency>

以上依赖,在以war包形式发布的时候,建议打开注释掉的东西。

以jar包发布的时候,在pom同级目录下执行

mvn package

即可在target目录下发现一个jar包,这个jar包是可以直接通过

java -jar xxx.jar

运行的。

但是有些时候会报

xxx.jar中没有主清单属性

的错误。

不妨看看pom中build下的plugins是否被一个<pluginManagement>包含。如果被包含的话,可以把这个pluginManagement删除掉。

这个标签在存在pom继承时,子项目引用父项目的version等情报时有意义的。

另外,jar的形式启动一个项目的话,会直接占用一个终端无法退出。所以可以通过以下命令来实现后台运行。

java -jar springboot-xxx.jar > log.file 2>&1 &
java -Xms512M -Xmx2084M -jar -Dspring.config.location=application.properties xxx.jar >>/dev/null 2>&1 &

解释一下:

log.file是一个文件,启动springboot的log会输出到这个文件中。

在bash中,0代表标准输入,无视;

1代表标准输出,就是log.file中被输入的东西;

2代表错误输出,然后被重定向到&1中,也就是标准输出中了。

&是一个通用的用于后台运行的标识符。

原文地址:https://www.cnblogs.com/voctrals/p/7979319.html