0

Mavenプラグインwas6-maven-pluginを使用してWebsphereにデプロイしています。アプリケーションをインストールするとき、 「updateExisting」という名前の構成値があります。falseこれは、新しいアプリケーションをインストールする場合、およびtrue既存のアプリケーションを更新する場合に必要です。アプリケーションを新規インストール/更新する場合、この値を手動で切り替える必要はありません。

私の見方ではuninstallApp、アプリケーションをインストールする前に常にアプリケーションをアンインストールするという目標を追加することもできますが、これはかなりばかげた方法のようです。

wsListAppsこのプラグインには、サーバーにインストールされているすべてのアプリケーションを出力するという目標もあることに気づきました。出力は次のようになります。

[INFO] [wsadmin] WASX7209I:SOAPコネクタを使用してノード1234Node02のプロセス「server1」に接続しました。プロセスのタイプは次のとおりです。UnManagedProcess
[情報][wsadmin]DefaultApplication
[情報][wsadmin]IBMUTC
[情報][wsadmin]MyApplicationEAR
[情報][wsadmin]ivtApp
[情報][wsadmin]クエリ

Mavenがこの出力で文字列「MyApplicationEAR」をスキャンし、見つかった場合は「updateExisting」を「true」に設定し、それ以外の場合は「false」のままにすることはできますか?

4

1 に答える 1

2

必要なのは、ライフサイクル中に Maven プロパティを更新できるようにすることwas6-maven-pluginです。(そして、このプロパティを の値として使用<updateExisting>)

残念ながら、maven のプロパティは静的であり、実行時に変更することはできません。だから、一見すると無理です。

ただし、プラグインがあります: properties-maven-pluginを使用して、実行時に新しいプロパティを定義できます。プロパティの値は、groovy スクリプトで定義できます。ここでの問題は、アプリが既に存在するかどうかを伝えるグルーヴィーなスクリプトをどのように作成できるかということです。

正直、使って良かったかどうかはわかりません。failOnErrorを false に設定して毎回アンインストール ゴールを実行するのがおそらく最も簡単な方法だと思います (おそらく最良の方法ですが、何かが足りないのではないでしょうか?)

于 2013-03-20T20:39:18.393 に答える