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中,也就是标准输出中了。
&是一个通用的用于后台运行的标识符。