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中,也就是標准輸出中了。
&是一個通用的用於后台運行的標識符。
