8.5. 在 JBoss EAP 裸机平台上使用可引导 JAR
您可以将应用打包为 JBoss EAP 裸机平台上的可引导 JAR。
- 要在 JBoss EAP 裸机平台上构建可引导 JAR 时使用自定义 Galleon 功能包和层,请参阅为 JBoss EAP 构建和使用自定义 Galleon 层。
-
使用
oc new-build
命令构建应用程序镜像时,请确保使用此 S2I 构建器镜像jboss-eap-xp4-openjdk11-openshift:latest
,而不是jboss-eap74-openjdk11-openshift:latest
。
可引导 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 插件版本,如
MAVEN_PLUGIN_VERSION.X.GA.Final-redhat-00001
,其中 MAVEN_PLUGIN_VERSION 是主版本,X 是 microversion。请参阅 /ga/org/wildfly/plugins/wildfly-jar-maven-plugin 的索引。 -
您已检查了最新的 Galleon 功能软件包版本,如
4.0.X.GA-redhat-BUILD_NUMBER
,其中 X 是 JBoss EAP XP 的微版本,BUILD_NUMBER 是 Galleon 功能软件包的构建号。X 和 BUILD_NUMBER 可以在 JBoss EAP XP 4.0.0 产品生命周期中演进。请参阅 /ga/org/jboss/eap/wildfly-galleon-pack 的索引。 - 您已创建了 Maven 项目,设置父依赖项,并添加了用于创建 MicroProfile 应用的依赖项。请参阅 MicroProfile 配置开发。
流程中显示的示例指定以下属性:
-
${bootable.jar.maven.plugin.version}
用于 Maven 插件版本。 -
${jboss.xp.galleon.feature.pack.version}
用于 Galleon 功能软件包版本。
您必须在项目中设置这些属性。例如:
<properties> <bootable.jar.maven.plugin.version>6.1.2.Final-redhat-00001</bootable.jar.maven.plugin.version> <jboss.xp.galleon.feature.pack.version>4.0.0.GA-redhat-00002</jboss.xp.galleon.feature.pack.version> </properties>
<properties>
<bootable.jar.maven.plugin.version>6.1.2.Final-redhat-00001</bootable.jar.maven.plugin.version>
<jboss.xp.galleon.feature.pack.version>4.0.0.GA-redhat-00002</jboss.xp.galleon.feature.pack.version>
</properties>
流程
在
pom.xml
文件的<build
> 元素中添加以下内容。您必须指定任何 Maven 插件的最新版本,以及org.jboss.eap:wildfly-galleon-pack
Galleon 功能软件包的最新版本。例如: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