11.5. 在 JBoss EAP 裸机平台上使用可引导 JAR
您可以将应用打包为 JBoss EAP 裸机平台上的可引导 JAR。
可引导 JAR 包含服务器、打包的应用程序以及启动服务器所需的运行时。
此流程演示了使用 JBoss EAP JAR Maven 插件将 MicroProfile Config 微服务应用打包为可引导 JAR。请参阅 MicroProfile 配置快速入门。
您可以使用 CLI 脚本在可引导 JAR 打包期间配置服务器。
在构建必须打包在可引导 JAR 中的 web 应用程序时,您必须在 pom.xml
文件的 & lt;packaging
> 项中指定 war
。例如:
<packaging>war</packaging>
<packaging>war</packaging>
此值需要将构建应用打包为 WAR 文件,而不是作为默认的 JAR 文件。
在仅构建 hollow bootable JAR 的 Maven 项目中,将打包值设置为 pom
。例如:
<packaging>pom</packaging>
<packaging>pom</packaging>
当您为 Maven 项目构建 hollow bootable JAR 时,您不限于使用 pom
打包。您可以通过在 < hollow-jar
> 项中为任何类型的打包指定 true
来创建 true,如 war
。请参阅在 JBoss EAP 裸机平台上创建休眠 JAR。
先决条件
-
您已检查了最新的 Maven 插件版本,如
9.minor.micro.Final-redhat-XXXXX
,其中 9 是主版本,次版本 为 微型 版本,X 是 Red Hat 构建号。例如:9.0.1.Final-redhat-00009
。 - 您已创建了 Maven 项目,并添加用于创建 MicroProfile 应用的依赖项。请参阅 MicroProfile 配置开发。
流程中显示的示例指定以下属性:
-
${bootable.jar.maven.plugin.version}
用于 Maven 插件版本。
您必须在项目中设置这些属性。例如:
<properties> <bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version> </properties>
<properties>
<bootable.jar.maven.plugin.version>9.0.1.Final-redhat-00009</bootable.jar.maven.plugin.version>
</properties>
流程
在
pom.xml
文件的<build
> 元素中添加以下内容。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您没有在
pom.xml
文件中指定 Galleon 层,则可引导 JAR 服务器包含一个与standalone-microprofile.xml
配置相同的配置。将应用程序打包为可引导 JAR:
mvn package
$ mvn package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 启动应用程序:
NAME="foo" java -jar target/microprofile-config-bootable.jar
$ NAME="foo" java -jar target/microprofile-config-bootable.jar
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意该示例使用
NAME
作为环境变量,但您可以选择使用jim
,这是默认值。注意要查看支持的可引导 JAR 参数的列表,请将
--help
附加到java -jar target/microprofile-config-bootable.jar
命令的末尾。在 Web 浏览器中指定以下 URL 以访问 MicroProfile Config 应用:
http://localhost:8080/config/json
http://localhost:8080/config/json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证 : 在终端中运行以下命令来测试应用程序的行为:
curl http://localhost:8080/config/json
curl http://localhost:8080/config/json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是预期的输出:
{"result":"Hello foo"}
{"result":"Hello foo"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow