マシン上でIBM Libertyサーバーを実行しており、対応するMavenプラグインを使用してWARを再デプロイしたいとします。artifactをliberty-maven-pluginに再デプロイする方法は?
ドキュメントには、deploy
,undeploy
,install-apps
などの目標があると記載されています。現在、私は
<plugin>
<groupId>com.ibm.websphere.wlp.maven.plugins</groupId>
<artifactId>liberty-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<id>install-apps</id>
<phase>install</phase>
<goals>
<goal>install-apps</goal>
</goals>
</execution>
</executions>
<configuration>
<serverHome>c:/my-liberty-instance</serverHome>
<serverName>myServerName</serverName>
</configuration>
</plugin>
を使用しています。しかし、それは前に停止する
サーバインスタンスを必要とするため、それは私のために良いではありません。実行中の場合、新しいWARがデプロイされます(以前のWARが置き換えられます)が、新しい変更は追いつきません。 私はdeploy
の目標を使用しようとしましたが、WARをdropins
ディレクトリにコピーすると、アプリが起動されてFAILSであることを示すべきいくつかの行のconsole.logファイルの検索が開始されます。 undeploy
目標の
例:CWWKM2022E: Failed to undeploy application app-1.0-SNAPSHOT.war. The Stop application message cannot be found in console.log.
しかし、同じメッセージがdeploy
、stop-server
のために表示されます。
私はサーバーを再起動する必要がないところで、liberty-maven-pluginを使用してWARを再デプロイする便利な方法はありますか? 私は新しいWARを構築したいだけです。サーバーが変更に追いつくようにしたい、それだけです。
これは動作しますが、サーバーは新しい変更をキャッチしません。つまり、コードを変更したり、新しいWARをビルドしたり、デプロイしたりすることができますが、Libertyはそれを実際に再デプロイしません。私は自分の変更を展開するためにサーバーを再起動する必要があります。古いWARを最初に削除した場合は、手動で新しいものを貼り付けます。すべて動作しますが、プラグインはWARファイルを置き換えます。その場合、Libertyは再デプロイしません。 – john
server.xmlにapplicationMonitorを設定しましたか?そうした場合は、updateTriggerをデフォルト値に設定する必要があります。 ' ' –
patricktiu
本当に助かりました。ありがとう! – john