如何在JBoss AS 7中部署war文件?

时间:2011-08-10 15:49:41

标签: java jboss jboss5.x jboss7.x

我下载了JBoss Application Server 5并成功部署了war文件。我将Hello.war复制到

中,该文件有一个简单的index.jsp文件
\jboss-5.1.0.GA-jdk6\jboss-5.1.0.GA\server\default\deploy

它工作正常。

但是,当我使用JBoss AS 7并在此处部署war文件时,它没有被执行。

jboss-as-7.0.0.Final\jboss-as-7.0.0.Final\standalone\deployments

如何部署?

编辑:我用谷歌搜索了它,但无法找到信息,因为JBoss AS 7相对较新。

6 个答案:

答案 0 :(得分:20)

实际上,对于最新的 JBOSS 7 AS ,我们甚至需要.dodeploy标记来存档。因此,添加标记以触发部署。

就我而言,我在同一目录中添加了一个Hello.war.deployed文件,然后一切正常。

希望这有助于某人!

答案 1 :(得分:16)

阅读文件$ AS / standalone / deployments / README.txt

  • 您有两种不同的模式:自动部署模式和手动部署模式
  • 对于手动部署模式,您必须按照其他帖子
  • 中的说明放置标记文件
  • 用于自动部署模式:完成此操作 通过部署扫描仪元素中的“自动部署”属性 standalone.xml配置文件:

    <deployment-scanner scan-interval="5000" relative-to="jboss.server.base.dir"
    path="deployments" auto-deploy-zipped="true" **auto-deploy-exploded="true"**/>
    

答案 2 :(得分:8)

我根据jboss deployment docs

构建了以下用于部署的ant任务
<target name="deploy" depends="jboss.environment, buildwar">
    <!-- Build path for deployed war-file -->
    <property name="deployed.war" value="${jboss.home}/${jboss.deploy.dir}/${war.filename}" />

    <!-- remove current deployed war -->
    <delete file="${deployed.war}.deployed" failonerror="false" />
    <waitfor maxwait="10" maxwaitunit="second">
        <available file="${deployed.war}.undeployed" />
    </waitfor>
    <delete dir="${deployed.war}" />

    <!-- copy war-file -->
    <copy file="${war.filename}" todir="${jboss.home}/${jboss.deploy.dir}" />

    <!-- start deployment -->
    <echo>start deployment ...</echo>
    <touch file="${deployed.war}.dodeploy" />

    <!-- wait for deployment to complete -->
    <waitfor maxwait="10" maxwaitunit="second">
        <available file="${deployed.war}.deployed" />
    </waitfor>
    <echo>deployment ok!</echo>
</target>

${jboss.deploy.dir}设置为standalone/deployments

答案 3 :(得分:3)

您能否提供有关部署失败的更多信息?应用程序是否未能部署触发 .war.failed 标记文件?

独立实例Deployment文件夹默认启用自动部署。自动部署模式通过使用一系列标记文件自动执行与手动模式相同的功能,以指示部署到运行时的操作和状态。例如,您可以使用unix / linux“touch”命令创建 .war.dodeploy 标记文件,以告知运行时部署应用程序。

了解总共有五种将应用程序部署到AS7的方法可能会很有用。我在另一个主题中谈到了这一点:JBoss AS7 *.dodeploy files

我倾向于使用管理控制台进行应用程序管理,但我知道管理CLI在其他用途​​中也很受欢迎。两者都与部署文件夹进程分开。了解如何使用其他方法满足您的需求。

如果您在“管理指南”中搜索“部署”,则可以在部署扫描程序和更常规部署部分(包括CLI)上查看部分:https://docs.jboss.org/author/display/AS7/Admin+Guide

答案 4 :(得分:1)

只需将war文件复制到standalone / deployments /文件夹,它就应该自动部署它。部署应用程序时,它还会创建your_app_name.deployed文件。还要确保使用bin / standalone.sh脚本启动服务器。

答案 5 :(得分:-1)

打开控制台并导航到bin文件夹并运行

JBOSS_HOME/bin > stanalone.sh

启动并运行后,只需复制

中的war文件
standalone/deployments folder

这可能是jboss 7.1