我在我的机器上运行IBM Liberty服务器,并希望使用相应的maven插件重新部署我的WAR。
文档说明有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
目录,它就会开始在某个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 - 部署它;希望服务器能够赶上变化,而这就是它。
答案 0 :(得分: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>