2017-05-30 80 views
0

我有IBM Liberty服務器在我的機器上運行,並且想要使用相應的maven插件重新部署我的WAR。如何用liberty-maven-plugin重新部署工件?

該文件說明有目標,如deployundeploy,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目錄中,它就會開始搜索某些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目標來安裝沒有liberty服務器實例停止的項目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,部署(我可以在下拉列表中看到更新的WAR),但Liberty不實際重新部署它。我需要重新啓動服務器才能部署我的更改。如果我先刪除舊的WAR,請手動粘貼一個新的WAR - 一切正常,但插件僅替換WAR文件,Liberty在該情況下不會重新部署。 – john

+1

你在server.xml中配置了applicationMonitor嗎?如果這樣做,則需要將updateTrigger設置爲其默認值。 '''' – patricktiu

+0

真的有幫助。謝謝 ! – john