如何使用liberty-maven-plugin重新部署工件?

时间:2017-05-30 16:25:58

标签: deployment maven-plugin websphere-liberty

我在我的机器上运行IBM Liberty服务器,并希望使用相应的maven插件重新部署我的WAR。

文档说明有deployundeployinstall-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 个答案:

答案 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>