# 19\. 運行你的應用程序
將應用程序打包成jar并使用嵌入式HTTP服務器的最大優點之一就是可以按照你想用其他任何方式運行應用程序。調試Spring Boot應用程序也很容易; 您不需要任何專門的IDE插件或擴展。
> 本節僅涵蓋基于jar的打包,如果您選擇將應用程序打包為war文件,則應參考您的服務器和IDE的文檔。
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#191-從ide運行)19.1 從IDE運行
您可以從IDE中運行 Spring Boot 應用程序作為一個簡單的Java應用程序,但是首先需要導入項目。 導入步驟將根據您的IDE和構建系統而有所不同。 大多數IDE可以直接導入Maven項目,例如Eclipse用戶可以從File菜單中選擇import...→Existing Maven Projects。
如果您無法將項目直接導入到IDE中,則可以使用構建插件生成IDE元數據。 Maven包括Eclipse和IDEA的插件; Gradle為各種IDE提供插件。
> 如果您不小心運行了兩次Web應用程序,您將看到“Port already in use”中的錯誤。 使用STS用戶可以使用重新啟動按鈕而不是運行以確保任何現有實例已關閉。
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#192-作為已打包應用程序運行)19.2 作為已打包應用程序運行
如果您使用Spring Boot 的 Maven或Gradle插件創建可執行jar,則可以使用java -jar運行應用程序。 例如:
```
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar
```
也可以啟用遠程調試支持運行打包的應用程序。 這允許您將調試器添加到打包的應用程序中:
```
$ java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n \
-jar target/myproject-0.0.1-SNAPSHOT.jar
```
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#193-使用-maven-插件)19.3 使用 Maven 插件
Spring Boot Maven 插件包含一個運行目標(goal ),可用于快速編譯和運行應用程序。 應用程序以exploded的形式運行,就像在IDE中一樣。
```
$ mvn spring-boot:run
```
您可能還需要使用一些有用的操作系統環境變量:
```
$ export MAVEN_OPTS=-Xmx1024m -XX:MaxPermSize=128M
```
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#194-使用gradle插件)19.4 使用Gradle插件
Spring Boot Gradlet插件還包括一個bootRun任務,可用于以exploded 形式運行應用程序。 每當導入spring-boot-gradle-plugin時,都會添加bootRun任務:
```
$ gradle bootRun
```
您可能還想使用這個有用的操作系統環境變量:
```
$ export JAVA_OPTS=-Xmx1024m -XX:MaxPermSize=128M
```
### [](file:///C:/Users/geekidentity/AppData/Local/Youdao/YNote/markdown/index.html#195-熱插拔)19.5 熱插拔
由于Spring Boot應用程序只是純Java應用程序,所以JVM熱插拔應該是開箱即用的。 JVM熱插拔在一定程度上受到可替代的字節碼的限制,更完整的解決方案,可以使用?[JRebel](http://zeroturnaround.com/software/jrebel/)?或者?[Spring Loaded](https://github.com/spring-projects/spring-loaded)?項目。 spring-boot-devtools模塊還支持快速重新啟動應用程序。
有關詳細信息,請參閱[第20章“開發人員工具”](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#using-boot-devtools)部分和[熱插拔“操作方法”](http://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/#howto-hotswapping)。
- Part I. Spring Boot 文檔
- Part II. 入門指南
- 8. Spring Boot 介紹
- 9. 系統要求
- 10. 安裝 Spring Boot
- 11. 開發您的第一個Spring Boot應用程序
- 12. 接下來應該讀什么
- Part III. 使用 Spring Boot
- 13. 構建系統
- 14. 構建代碼
- 15. 配置類
- 16. 自動配置
- 17. Spring Beans 和 依賴注入
- 18. 使用@SpringBootApplication注解
- 19. 運行你的應用程序
- 20. 開發工具
- 21. 包裝您的應用程序到生產環境
- 22. 接下來應該讀什么
- Part IV. Spring Boot 功能
- 23. SpringApplication
- 24. 外部配置
- 25. 配置文件(Profiles)
- 26. 日志
- 27. 開發Web應用程序
- 28. Security
- 29. 使用SQL數據庫