0

我必须通过 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”。

如何解决这个问题呢?

4

2 回答 2

1

根据wldeploiy Ant Task Reference中 wldeploy 的示例 build.xml 文件,需要指定属性(除非应用程序部署在管理服务器实例上):targets

  <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属性的描述:

应用程序部署到的目标服务器列表。
此属性的值是以逗号分隔的目标服务器、集群或虚拟主机列表。
如果您在部署应用程序时未指定目标列表,则目标默认为管理服务器实例。

于 2009-10-07T21:10:04.597 回答
0

我认为这个属性丢失了:targets="${wls1.targets}"

于 2009-08-01T21:45:37.120 回答