我必须通过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'。
如何解决这个问题?
答案 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}”