首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过命令行在Jboss 7.0.1中部署war

通过命令行在Jboss 7.0.1中部署war
EN

Stack Overflow用户
提问于 2011-12-08 03:16:23
回答 2查看 22.7K关注 0票数 7

我有一个war文件,需要将其部署到Jboss 7.0.1服务器上。现在我已经浏览了文档,但是没有找到任何可以部署war文件的东西。此外,为了通过命令行部署您的构建,您通常必须使用maven。那么我们也需要战争吗?如果是这样,是否会影响war文件?

仅供参考:我正在使用linux (CentOs5)...

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-08 06:59:59

您可以使用管理命令行界面部署.war文件。有关它的特定文档位于以下位置:JBoss AS7 Admin Guide - Deployment,相关部分如下。您可能还想快速观看一下视频:5 Ways To Deploy Your Applications To JBoss AS7

到托管域的命令行界面部署

分发部署二进制文件的过程包括两个步骤:您需要将部署上载到存储库,域控制器可以从中分发其内容。在第二步中,您需要将展开分配给一个或多个服务器组:

使用CLI,您只需一次扫描即可完成:

代码语言:javascript
复制
[domain@localhost:9999 /] deploy ~/Desktop/test-application.war
Either --all-server-groups or --server-groups must be specified.

[domain@localhost:9999 /] deploy ~/Desktop/test-application.war --all-server-groups
'test-application.war' deployed successfully.

[domain@localhost:9999 /] deploy --help
[...]

使用"deploy“命令上载二进制文件后,它将可用于域控制器并分配给服务器组:

代码语言:javascript
复制
[domain@localhost:9999 /] :read-children-names(child-type=deployment)
{
   "outcome" => "success",
   "result" => [
       "mysql-connector-java-5.1.15.jar",
       "test-application.war"
   ]
}

[domain@localhost:9999 /] /server-group=main-server-group/deployment=test-application.war:read-resource
{
   "outcome" => "success",
   "result" => {
       "enabled" => true,
       "name" => "test-application.war",
       "runtime-name" => "test-application.war"
   }
}

以类似的方式将其从服务器组中删除:

代码语言:javascript
复制
[domain@localhost:9999 /] undeploy test-application.war --all-relevant-server-groups
Successfully undeployed test-application.war.

[domain@localhost:9999 /] /server-group=main-server-group:read-children-names(child-type=deployment)
{
   "outcome" => "success",
   "result" => []
}

到独立服务器命令行界面部署

在独立服务器上部署的工作原理类似于托管域,只是服务器-组关联不存在。您可以使用与托管域相同的CLI命令来部署应用程序:

代码语言:javascript
复制
[standalone@localhost:9999 /] deploy ~/Desktop/test-application.war
'test-application.war' deployed successfully.

[standalone@localhost:9999 /] undeploy test-application.war
Successfully undeployed test-application.war.

到独立服务器的命令行界面部署(单线性外壳命令)

你也可以在Shell中一次性部署一场战争。这对于Bash脚本或Unix别名很有用。注意:这会暴露密码,因此仅适用于个人开发实例。确保设置了$JBOSS_HOME,并根据需要更改下面的密码和WAR文件路径名称:

代码语言:javascript
复制
$ $JBOSS_HOME/bin/jboss-cli.sh -u=admin -p=MY_PASSWORD --controller=localhost:9990 --connect --command="deploy /path/to/MY_APP.war --force"

脚注:如您所知,您已经有了用于部署的管理控制台,以及部署扫描程序。前者和任何GUI一样受欢迎,但后者更适合于开发。我尝试尽可能多地使用CLI,因为对于批处理脚本的强大功能和CLI API公开的大规模低级操作而言,学习曲线是非常值得的。很酷的东西。为了透明起见,我应该补充说,我在AS/EAP文档团队工作,所以我可能会有偏见。

票数 15
EN

Stack Overflow用户

发布于 2019-09-23 22:59:19

上面的答案

把我搞糊涂了..因此,这是一个简单且对我有效的解决方案。

  • 确保jboss已在运行。Commandps -ef | grep jboss
  • navigate连接到JBSS_HOME/bin/,然后打开JBOSS CLI。打开CLI is./jboss-cli.sh.
  • Once CLI的命令已打开。您将看到如下所示的[disconnected /]。现在,运行命令connect。它将显示如下所示:使用以下命令执行[standalone@localhost:9999 /]
  • now,部署。"deploy /YOUR_WAR_PATH.war"。示例:"deploy /tmp/my_app.war"

这就是我们需要做的。

快乐学习..

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8421116

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档