2017-05-30 4 views
0

マシン上で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. しかし、同じメッセージがdeploystop-serverのために表示されます。

私はサーバーを再起動する必要がないところで、liberty-maven-pluginを使用してWARを再デプロイする便利な方法はありますか? 私は新しいWARを構築したいだけです。サーバーが変更に追いつくようにしたい、それだけです。

答えて

1

リバティーサーバーインスタンスを停止せずにinstall-appsゴールを使用してプロジェクトwarファイルをインストールすることができます。しかし、あなたは、プラグインのコンフィグレーションにliberty-maven-pluginのバージョン1.3 or aboveを使用し、<installAppPackages>project</installAppPackages>を含める必要があります。

<plugin> 
    <groupId>net.wasdev.wlp.maven.plugins</groupId> 
    <artifactId>liberty-maven-plugin</artifactId> 
    <version>1.3</version> 
    <executions> 
     <execution> 
      <id>install-apps</id> 
      <phase>install</phase> 
      <goals> 
       <goal>install-apps</goal> 
      </goals> 
     </execution> 
    </executions> 
    <configuration> 
     <installDirectory>c:/my-liberty-instance</installDirectory> 
     <serverName>myServerName</serverName> 
     <installAppPackages>project</installAppPackages> 
    </configuration> 
</plugin> 
+0

これは動作しますが、サーバーは新しい変更をキャッチしません。つまり、コードを変更したり、新しいWARをビルドしたり、デプロイしたりすることができますが、Libertyはそれを実際に再デプロイしません。私は自分の変更を展開するためにサーバーを再起動する必要があります。古いWARを最初に削除した場合は、手動で新しいものを貼り付けます。すべて動作しますが、プラグインはWARファイルを置き換えます。その場合、Libertyは再デプロイしません。 – john

+1

server.xmlにapplicationMonitorを設定しましたか?そうした場合は、updateTriggerをデフォルト値に設定する必要があります。 '' – patricktiu

+0

本当に助かりました。ありがとう! – john

関連する問題