執行你的應用

將應用打包成 jar 並使用內嵌 HTTP 伺服器的最大優點之一是你可以像執行任何其他應用一樣執行它。這對除錯 Spring Boot 應用也同樣適用。你不需要任何特殊的 IDE 外掛或擴充套件。

以下選項最適合在本地開發時執行應用。有關生產部署,請參閱打包應用以便生產部署
本節僅介紹基於 jar 的打包。如果你選擇將應用打包為 war 檔案,請參閱你的伺服器和 IDE 文件。

從 IDE 執行

你可以從 IDE 中以 Java 應用的形式執行 Spring Boot 應用。但是,你首先需要匯入你的專案。匯入步驟因你的 IDE 和構建系統而異。大多數 IDE 可以直接匯入 Maven 專案。例如,Eclipse 使用者可以從 File(檔案)選單中選擇 Import…​(匯入…​) → Existing Maven Projects(現有 Maven 專案)。

如果你無法直接將專案匯入 IDE,可以使用構建外掛生成 IDE 元資料。Maven 包含用於 EclipseIDEA 的外掛。Gradle 提供用於各種 IDE 的外掛。

如果你不小心兩次運行同一個 Web 應用,會看到“Port already in use”(埠已被佔用)錯誤。Spring Tools 使用者可以使用 Relaunch(重新啟動)按鈕而不是 Run(執行)按鈕來確保關閉任何現有例項。

以打包應用形式執行

如果你使用 Spring Boot Maven 或 Gradle 外掛建立可執行 jar,你可以使用 java -jar 來執行你的應用,示例如下

$ java -jar target/myapplication-0.0.1-SNAPSHOT.jar

還可以執行啟用了遠端除錯支援的打包應用。這樣可以讓你將偵錯程式附加到打包應用,示例如下

$ java -agentlib:jdwp=server=y,transport=dt_socket,address=8000,suspend=n \
       -jar target/myapplication-0.0.1-SNAPSHOT.jar

使用 Maven 外掛

Spring Boot Maven 外掛包含一個 run 目標,可用於快速編譯和執行你的應用。應用以 exploded(展開)形式執行,就像在你的 IDE 中一樣。以下示例顯示了執行 Spring Boot 應用的典型 Maven 命令

$ mvn spring-boot:run

你可能還想使用 MAVEN_OPTS 作業系統環境變數,示例如下

$ export MAVEN_OPTS=-Xmx1024m

使用 Gradle 外掛

Spring Boot Gradle 外掛也包含一個 bootRun 任務,可用於以 exploded(展開)形式執行你的應用。只要你應用 org.springframework.bootjava 外掛,就會新增 bootRun 任務,示例如下

$ gradle bootRun

你可能還想使用 JAVA_OPTS 作業系統環境變數,示例如下

$ export JAVA_OPTS=-Xmx1024m

熱插拔

由於 Spring Boot 應用是純 Java 應用,JVM 熱插拔應該可以直接工作。JVM 熱插拔對其可以替換的位元組碼有一定的限制。對於更完整的解決方案,可以使用 JRebel

spring-boot-devtools 模組也包含對快速應用重啟的支援。詳細資訊請參閱“How-to 指南”中的熱插拔章節。