如何使用ant任务取消部署weblogic应用程序?

时间:2009-07-31 11:48:54

标签: deployment ant weblogic

我必须通过ant在weblogic中部署我的应用程序。 我在做的是:

<target name="deployOnServer1" >
        <echo>*********** Start deploying war file on SERVER1 *********** </echo>
        <wldeploy action="redeploy"
            source="${dist.dir}/${ant.project.name}.war" 
            name="${wls.appname}"      
            user="${wls1.user}" 
            password="${wls1.password}" 
            adminurl="${wls1.adminurl}"      
            targets="${wls1.targets}"
            verbose="true" 
            debug="true" 
            upload="true"
            remote="true"
        />
</target>

只有在没有任何其他具有相同应用程序上下文的应用程序时,才会在weblogic上部署我的应用程序。 所以我做的是:

 <target name="undeployOnServer1">
            <echo>*********** Start unDeploying war file on SERVER1 *********** </echo>
        <wldeploy
        action="undeploy" verbose="true" debug="true"
         name="${wls.appname}"
        user="${wls1.user}" password="${wls1.password}" 
        adminurl="${wls1.adminurl}"      
        failonerror="false" 

        />
  </target>

并将 deployOnServer1 目标更改为

<target name="deployOnServer1" depends="undeployOnServer1">

但现在取消部署它说,   没有名为'myapp'的应用程序要取消部署 在部署它说,   无法部署,因为其他应用程序具有相同的上下文路径'/ myapp'。

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

根据sample build.xml files for wldeploy中的wldeploiy Ant Task Reference,需要指定targets属性(除非应用程序部署在Administration Server实例上):

  <target name="undeploy">
    <wldeploy
      action="undeploy" verbose="true" debug="true"
      name="DeployExample"
      user="weblogic" password="weblogic"
      adminurl="t3://localhost:7001" targets="myserver"
      failonerror="false" />
  </target>

这是targets属性的说明:

  

目标服务器列表   应用程序已部署   该属性的值是a   以逗号分隔的目标列表   服务器,集群或虚拟   主机。
如果你没有指定   部署时的目标列表   应用程序,目标默认为   管理服务器   实例。

答案 1 :(得分:0)

我认为这个属性丢失了:     目标= “$ {wls1.targets}”