7.4. 使用 Maven 部署应用程序


使用 Apache Maven 部署应用程序可让您将部署到 JBoss EAP 轻松合并到现有的开发工作流中。

您可以使用 Maven 使用 WildFly Maven 插件 将应用部署到 JBoss EAP,它提供了简单的操作,以部署和取消部署应用到应用服务器。

7.4.1. 使用 Maven 将应用程序部署到单机服务器

以下说明演示了如何使用 Maven 将 JBoss EAP helloworld 快速启动部署和取消部署到单机服务器:

有关 JBoss EAP 快速入门的更多信息,请参阅 JBoss EAP 入门指南中的使用 Quickstart 示例

部署应用程序

在 Maven pom.xml 文件中初始化 WildFly Maven 插件。这应该已在 JBoss EAP quickstart pom.xml 文件中配置。

<plugin>
  <groupId>org.wildfly.plugins</groupId>
  <artifactId>wildfly-maven-plugin</artifactId>
  <version>${version.wildfly.maven.plugin}</version>
</plugin>

helloworld quickstart 目录中执行以下 Maven 命令。

$ mvn clean install wildfly:deploy

在为部署发出 Maven 命令后,终端窗口会显示指示成功部署的以下输出:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.981 s
[INFO] Finished at: 2015-12-23T15:06:13-05:00
[INFO] Final Memory: 21M/231M
[INFO] ------------------------------------------------------------------------

部署也可以通过查看活动服务器实例的服务器日志来确认。

WFLYSRV0027: Starting deployment of "jboss-helloworld.war" (runtime-name: "jboss-helloworld.war")
WFLYUT0021: Registered web context: /jboss-helloworld
WFLYSRV0010: Deployed "jboss-helloworld.war" (runtime-name : "jboss-helloworld.war")
取消部署应用

helloworld quickstart 目录中执行以下 Maven 命令。

$ mvn wildfly:undeploy

在发出 Maven 命令取消部署后,终端窗口将显示以下指示未部署成功的输出:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.237 s
[INFO] Finished at: 2015-12-23T15:09:10-05:00
[INFO] Final Memory: 10M/183M
[INFO] ------------------------------------------------------------------------

也可以通过查看活动服务器实例的服务器日志来确认未部署。

WFLYUT0022: Unregistered web context: /jboss-helloworld
WFLYSRV0028: Stopped deployment jboss-helloworld.war (runtime-name: jboss-helloworld.war) in 27ms
WFLYSRV0009: Undeployed "jboss-helloworld.war" (runtime-name: "jboss-helloworld.war")

7.4.2. 使用 Maven 在受管域中部署应用

以下说明演示了如何使用 Maven 在受管域中部署和取消部署 JBoss EAP helloworld 快速启动:

有关 JBoss EAP 快速入门的更多信息,请参阅 JBoss EAP 入门指南中的使用 Quickstart 示例

部署应用程序

在受管域中部署应用程序时,您必须指定应部署到的服务器组。这在 Maven pom.xml 文件中配置。

pom.xml 中的以下配置初始化 WildFly Maven 插件,并将 main-server-group 指定为应部署到的服务器组。

<plugin>
  <groupId>org.wildfly.plugins</groupId>
  <artifactId>wildfly-maven-plugin</artifactId>
  <version>${version.wildfly.maven.plugin}</version>
  <configuration>
    <domain>
      <server-groups>
        <server-group>main-server-group</server-group>
      </server-groups>
    </domain>
  </configuration>
</plugin>

helloworld quickstart 目录中执行以下 Maven 命令。

$ mvn clean install wildfly:deploy

在为部署发出 Maven 命令后,终端窗口会显示指示成功部署的以下输出:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.005 s
[INFO] Finished at: 2016-09-02T14:36:17-04:00
[INFO] Final Memory: 21M/226M
[INFO] ------------------------------------------------------------------------

部署也可以通过查看活动服务器实例的服务器日志来确认。

WFLYSRV0027: Starting deployment of "jboss-helloworld.war" (runtime-name: "jboss-helloworld.war")
WFLYUT0021: Registered web context: /jboss-helloworld
WFLYSRV0010: Deployed "jboss-helloworld.war" (runtime-name : "jboss-helloworld.war")
取消部署应用

helloworld quickstart 目录中执行以下 Maven 命令。

$ mvn wildfly:undeploy

在发出 Maven 命令取消部署后,终端窗口将显示以下指示未部署成功的输出:

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.750 s
[INFO] Finished at: 2016-09-02T14:45:10-04:00
[INFO] Final Memory: 10M/184M
[INFO] ------------------------------------------------------------------------

也可以通过查看活动服务器实例的服务器日志来确认未部署。

WFLYUT0022: Unregistered web context: /jboss-helloworld
WFLYSRV0028: Stopped deployment jboss-helloworld.war (runtime-name: jboss-helloworld.war) in 106ms
WFLYSRV0009: Undeployed "jboss-helloworld.war" (runtime-name: "jboss-helloworld.war")
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.