Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从apache ant build.xml文件目标启动和停止jboss_Ant_Jboss - Fatal编程技术网

如何从apache ant build.xml文件目标启动和停止jboss

如何从apache ant build.xml文件目标启动和停止jboss,ant,jboss,Ant,Jboss,我已经创建了build.xml 生成master build.xml和jar war ear文件 现在我想使用ApacheAnt从master build.xml文件停止并启动jboss服务器 然后复制所有war和ear,您可以从命令行远程停止jboss(我假设这是您想要的),如图所示 在本地,也就是说,如果您在运行jboss的同一台机器上运行构建文件,那么您可以使用antsexec命令轻松地完成这项工作,这非常简单 <!-- Start Jboss --> <target n

我已经创建了build.xml 生成master build.xml和jar war ear文件

现在我想使用ApacheAnt从master build.xml文件停止并启动jboss服务器


然后复制所有war和ear,您可以从命令行远程停止jboss(我假设这是您想要的),如图所示 在本地,也就是说,如果您在运行jboss的同一台机器上运行构建文件,那么您可以使用ants
exec
命令轻松地完成这项工作,这非常简单

<!-- Start Jboss -->
<target name="start-jboss" description="Starts back-end EJB container" depends="prepare">
    <exec executable="${jboss.bin.dir}/run.bat" spawn="false">
    </exec>
    <copy todir="destination of where you want the file to go" overwrite="true">
       <fileset file="myfile.war" />
       <fileset file="myfile.ear" />
    </copy>
    <echo>+-----------------------------+</echo>
    <echo>| J B O S S   S T A R T E D   |</echo>
    <echo>+-----------------------------+</echo>
</target>

<!-- Stop Jboss -->
<target name="stop-jboss" description="Stops back-end EJB container" depends="prepare">
    <exec executable="${jboss.bin.dir}/shutdown.bat" spawn="false">
        <arg line="-S" />
    </exec>
            <copy todir="destination to where you want the file to go" overwrite="true">
            <fileset file="myfile.war" />
            <fileset file="myfile.ear" />
            </copy>
    <echo>+-----------------------------+</echo>
    <echo>| J B O S S   S T O P P E D   |</echo>
    <echo>+-----------------------------+</echo>

</target>

+-----------------------------+
|J B O S T A R T D|
+-----------------------------+
+-----------------------------+
|J B O S S T O P E D|
+-----------------------------+

希望这有帮助:)

不要认为这会奏效。我认为,在下一个要触发的命令中,Spawn必须为true。@Nicolas DiPiazza-使用Spawn true/false是因为它在命令行控制台上显示/不显示堆栈跟踪。这与下一次命令发射与否无关。代码运行良好。如果您有任何错误,请告诉我。:)可能是JBossAS7有点不同。。。但是在我的build.xml脚本中,我使用了。。。我同时启动了3个jboss实例。如果没有spawn=true,第一个jboss实例将启动,然后窃取流,直到停止为止。。。当然这不会发生。@Nicolas DiPiazza-OK删除depends=“prepare”元素,然后重新运行构建。