8.5. 在 JBoss EAP 裸机平台上使用可引导 JAR
您可以将应用打包为 JBoss EAP 裸机平台上的可引导 JAR。
可引导 JAR 包含服务器、打包的应用和启动服务器的运行时。
此流程演示了使用 JBoss EAP JAR Maven 插件将 MicroProfile Config 微服务应用打包为可引导 JAR。请参阅 MicroProfile 配置开发。
您可以使用 CLI 脚本在可引导 JAR 打包期间配置服务器。
在构建必须在可引导 JAR 中打包的 web 应用程序时,您必须在 pom.xml 文件的 <packaging> 元素 中指定 war。例如:
<packaging>war</packaging>
<packaging>war</packaging>
构建应用需要此值,才能将构建应用打包为 WAR 文件,而不是默认的 JAR 文件。
在仅用于构建易引导 JAR 的 Maven 项目中,将打包值设置为 pom。例如:
<packaging>pom</packaging>
<packaging>pom</packaging>
在为 Maven 项目构建可引导 JAR 时,您不限于使用 pom 打包。您可以通过在 <hollow-jar> 元素中为任意类型的打包(如 war )指定 true 来创建一个。请参阅在 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 功能包版本,如
3.0.X.GA-redhat-BUILD_NUMBER,其中 X 是 JBoss EAP XP 和 BUILD_NUMBER 的微版本,是 Galleon 功能包的构建号。X 和 BUILD_NUMBER 在 JBoss EAP XP 3.0.0 产品生命周期中都可能会演变。请参阅 /ga/org/jboss/eap/wildfly-galleon-pack 的索引。 - 您已创建了 Maven 项目,设置父依赖项,并且添加了用于创建 MicroProfile 应用的依赖关系。请参阅 MicroProfile 配置开发。
流程中显示的示例指定以下属性:
-
用于 Maven 插件版本的
${bootable.jar.maven.plugin.version}。 -
Gall
eon 功能包版本的 ${JBoss.xp.galleon.feature.pack.version}。
您必须在项目中设置这些属性。例如:
<properties>
<bootable.jar.maven.plugin.version>4.0.3.Final-redhat-00001</bootable.jar.maven.plugin.version>
<jboss.xp.galleon.feature.pack.version>3.0.0.GA-redhat-00001</jboss.xp.galleon.feature.pack.version>
</properties>
<properties>
<bootable.jar.maven.plugin.version>4.0.3.Final-redhat-00001</bootable.jar.maven.plugin.version>
<jboss.xp.galleon.feature.pack.version>3.0.0.GA-redhat-00001</jboss.xp.galleon.feature.pack.version>
</properties>
流程
将以下内容添加到
pom.xml文件的<build> 元素中。您必须指定任何 Maven 插件的最新版本,以及org.jboss.eap:wildfly-galleon-packGalleon 功能包的最新版本。例如:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果您没有在
pom.xml文件中指定 Galleon 层,则可引导 JAR 服务器包含与standalone-microprofile.xml配置一致的配置。将应用程序打包为可引导 JAR:
mvn package
$ mvn packageCopy 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.jarCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注意该示例使用
NAME作为环境变量,但您可以选择使用jim,这是默认值。注意要查看受支持的可引导 JAR 参数列表,请在
java -jar target/microprofile-config-bootable.jar命令的末尾附加--help。在 Web 浏览器中指定以下 URL 以访问 MicroProfile Config 应用:
http://localhost:8080/config/json
http://localhost:8080/config/jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 验证: 在终端中运行以下命令来测试应用程序的行为:
curl http://localhost:8080/config/json
curl http://localhost:8080/config/jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是预期的输出:
{"result":"Hello foo"}{"result":"Hello foo"}Copy to Clipboard Copied! Toggle word wrap Toggle overflow