Spring Boot中文手冊(8):運行你的程序

「 該系列的文章主要參考Spring Boot的官方文檔來進行翻譯,逐步將官方文檔翻譯過來,方便大家共同學習和討論,但是畢竟能力有限,如有問題,感謝大家留言指正。」

把項目打包成一個完整的jar包,並且使用內嵌的HTTP Server的最大好處就是你可以像啓動其他應用那樣啓動你自己的應用程序。調試你的Spring Boot工程也很簡單,不需要特定的開發IDE插件或者擴展。

本章只涵蓋了基於jar包打包的方式,如果你想將你的應用打包爲war包,你應該參考一下你的服務器和IDE

1 從IDE中啓動

你可以在你的IDE中像啓動一個Java程序一樣啓動Spring Boot程序。首先你需要導入你的工程,導入的過程因你的IDE和構建工具的不同而有所差別。大多數的IDE工具可以直接導入Maven工程,Eclipse用戶可以從 File菜單按照 Import… → Existing Maven Projects 的順序導入。

如果你不能直接將你的項目導入到IDE中,你也許需要使用一個構建的插件來生成一個IDE的元數據,Maven提供了給Eclipse和IDEA的插件,Gradle提供了供各種IDE使用的插件。

如果不經意間運行了同一個web程序兩次,你會收到一個「端口已經被佔用」的錯誤信息,STS用戶可以使用重新啓動的按鈕替代啓動按鈕來啓動程序,這樣可以保證上一次啓動的程序被自動關閉。

  1. 將程序打包後運行

如果你用Spring Boot的Maven插件或者Gradle插件生成了一個可執行jar包,你可以使用 java -jar命令來啓動你的程序,如下面的例子所示:

$ java -jar target/myapplication-0.0.1-SNAPSHOT.jar
你也可以在啓動一個打包的程序的同時,開啓遠程調試模式,這樣可以讓你給程序附加一個調試程序,如:

$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n
-jar target/myapplication-0.0.1-SNAPSHOT.jar
3. 使用Maven插件啓動

Spring Boot的Maven插件包含一個 run 的目標,可以用來快速編譯並啓動你的程序。應用程序以一種完全暴露的形式運行,並沒有以jar包形式運行,由於是即時「熱加載」,你可以隨時編輯你的文件。下面是一個典型的Maven命令,可以用來啓動Spring Boot程序:

$ mvn spring-boot:run
你也許想使用 MAVEN_OPTS 來控制你的系統環境參數,如下面的示例:

$ export MAVEN_OPTS=-Xmx1024m
4. 使用Gradle插件啓動

Spring Boot對應的Gradle插件也包含一個 bootRun 任務,可以用來以完全暴露的形式啓動你的程序。 bootRun 任務會在你使用 org.springframework.boot 或者 java 插件的時候自動添加進來,使用下面的命令啓動程序:

$ gradle bootRun
你也許想使用 MAVEN_OPTS 來控制你的系統環境參數,如下面的示例:

$ export MAVEN_OPTS=-Xmx1024m
5. 熱交換

因爲Spring Boot應用程序只是普通的Java應用,那麼JVM的熱交換(hot-swapping)特性支持也能能完美支持。JVM熱交換在它能替換的字節碼上有些限制,更全面的解決方案可以使用JRebel。

spring-boot-devtools 模塊也能夠支持程序的快速重啓,在稍後的開發工具那一章可以獲取更詳細的信息。

END
在這裏插入圖片描述