18.2 构建可执行 JAR 文件
将 Spring Boot 应用程序构建成可执行 JAR 文件相当简单。假设在初始化项目时您选择了 JAR 打包方式,那么您应该能够用以下 Maven 命令构建可执行 JAR 文件:
$ mvnw package
成功构建后,生成的 JAR 文件将被放置到 target 目录中,并带有基于项目 pom.xml 中的 <artifactId>
和 <version>
条目的名称和版本文件(例如,“tacocloud-0.0.19-SNAPSHOT.jar”)。
或者,您用的是 Gradle,可以这样做:
$ gradlew build
对于 Gradle 构建,生成的 JAR 将在 build/libs 目录中。JAR 文件名称将基于 settings.gradle 文件中的 rootProject.name 属性以及 build.gradle 中的 version 属性。
一旦有了可执行的 JAR 文件,就可以用 java -JAR 运行它,如下所示:
$ java -jar tacocloud-0.0.19-SNAPSHOT.jar
应用程序将运行。假设它是一个 web 应用程序,这瘵启动一个嵌入式服务器(Netty 或 Tomcat,取决于项目是否为反应式 web 项目)并开始侦听配置的 server.port(默认为 8080)上的请求。
这非常适合在本地运行应用程序。但是如何部署可执行 JAR 文件呢?
这实际上取决于您将在哪里部署应用程序。如果您要部署到 Cloud Foundry,您可以使用 CF 命令行工具:
$ cf push tacocloud -p target/tacocloud-0.0.19-SNAPSHOT.jar
cf push 的第一个参数是 Cloud Foundry 中应用程序的名称。这个名字用于 Cloud Foundry 和 cf CLI 中的应用程序,并用作访问此应用程序的子域名。例如,如果 Cloud Foundry 的应用程序子域名是“cf.myorg.com”,那么 Taco Cloud 应用程序访问地址将是 https://tacocloud.cf.myorg.com。
部署可执行 JAR 文件的另一种方法是,将它们打包到 Docker 容器中,并在 Docker 或 Kubernetes 中运行它们。让我们看看这是如何做到的。