0

我的机器上运行着 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(它替换了旧的),但没有赶上新的更改。

我尝试使用deploy目标,但是一旦将 WAR 复制到dropins目录 - 它就会开始在一些 console.log 文件中搜索应该指示应用程序是否已启动并且失败的行。

目标示例undeployCWWKM2022E: 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 - 部署它;希望服务器赶上变化,就是这样。

4

1 回答 1

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>
于 2017-05-30T18:18:58.540 回答