(より効率的に)私はいくつかの他のターゲットに依存関係としてこのAntターゲットを呼び出して、私はこれが唯一実行したい
質問。 wldeployがあなたが望むことができるかどうかはわかりません。うまくいくかもしれないアプローチの1つは、wlconfig antタスクを使用することです。これを使用してApplicationRuntimeMBeansを取得し、ApplicationName属性(wlconfigタスク)を照会して、アプリケーションがデプロイされているかどうかを調べることができます。スーパーは簡単ではありませんが、少なくともアプリケーションの再デプロイメントは避けてください。 これは....申し訳ありませんが、それが実際に可能であるかどうかわからないので、私の頭の上からだけで素早くアイデアです:)
--edit:それを試してみた、このようなものは動作するはずです
<project name="test" default="deploy">
<property name="domainName" value="ejbTestDomain"/>
<property name="serverName" value="AdminServer"/>
<property name="appName" value="ejbWebEAR"/>
<target name="findApp">
<wlconfig url="t3://localhost:7001" username="weblogic" password="password_for_weblogic">
<query pattern="${domainName}:ServerRuntime=${serverName},Name=${appName},*,Type=ApplicationRuntime" property="app.is.deployed"/>
</wlconfig>
</target>
<target name="deploy" unless="app.is.deployed" depends="findApp">
<echo message="Deploying..."/>
<!-- deploy using wldeploy task -->
</target>
</project>
あなたはに依存していると言うの目標のためのXMLを投稿することができます:、ここでの仮定は、我々は、その後のMBeanを見つけることができ、それがすでに展開されている場合には、これらの豆はAppDeploymentsの下で暮らすため、有効な仮定であるべきであるということですこれです。大きすぎない場合は、build.xml全体を投稿してください。 –
これはちょうど標準的なantの依存性です ' ... ' –