6.7. 运行您的应用程序
将应用程序打包为 jar 并使用嵌入式 HTTP 服务器的最大优点之一是您可以像运行任何其他应用程序一样运行您的应用程序。该示例适用于调试Spring Boot应用程序。您不需要任何特殊的 IDE 插件或扩展。
本节仅涵盖基于 jar 的包装。如果您选择将应用程序打包为 war 文件,请参阅您的服务器和 IDE 文档。
6.7.1. 从 IDE 运行
您可以从 IDE 将 Spring Boot 应用程序作为 Java 应用程序运行。但是,您首先需要导入您的项目。导入步骤因您的 IDE 和构建系统而异。大多数IDE都可以直接导入Maven项目。例如,Eclipse 用户可以从File
菜单中选择Import…
→ Existing Maven Projects
。
如果您无法将项目直接导入 IDE,则可以使用构建插件生成 IDE 元数据。Maven 包括Eclipse和IDEA的插件。Gradle 为各种 IDE提供插件。
如果您不小心运行 Web 应用程序两次,您会看到“端口已在使用中”错误。Spring Tools 用户可以使用
Relaunch
按钮而不是Run
按钮来确保关闭任何现有实例。
6.7.2. 作为打包应用程序运行
如果您使用 Spring Boot Maven 或 Gradle 插件创建可执行 jar,则可以使用java -jar
运行应用程序,如以下示例所示:
还可以运行启用了远程调试支持的打包应用程序。这样做可以让您将调试器附加到打包的应用程序中,如以下示例所示:
6.7.3. 使用 Maven 插件
Spring Boot Maven 插件包含一个可用于快速编译和运行应用程序的run
目标。应用程序以分解形式运行,就像在 IDE 中一样。以下示例显示了运行 Spring Boot 应用程序的典型 Maven 命令:
您可能还想使用MAVEN_OPTS
操作系统环境变量,如以下示例所示:
6.7.4. 使用 Gradle 插件
Spring Boot Gradle 插件还包含一个可用于以分解形式运行应用程序的bootRun
任务。每当您应用org.springframework.boot
和java
插件时都会添加bootRun
任务,如以下示例所示:
您可能还想使用JAVA_OPTS
操作系统环境变量,如以下示例所示:
6.7.5. 热插拔
由于 Spring Boot 应用程序是普通的 Java 应用程序,因此 JVM 热插拔应该可以开箱即用。JVM 热交换在某种程度上受到它可以替换的字节码的限制。对于更完整的解决方案,可以使用JRebel 。
spring-boot-devtools
模块还包括对快速应用程序重新启动的支持。有关详细信息,请参阅热插拔“操作方法”。
最后更新于