调用命令时出错!使用Maven Cargo将战争部署到WebSphere Liberty服务器时

时间:2018-10-25 13:08:44

标签: java maven websphere cargo

我目前正在尝试将War文件部署到Websphere Liberty服务器。

    <profile>
        <id>integration</id>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.codehaus.cargo</groupId>
                    <artifactId>cargo-maven2-plugin</artifactId>
                    <version>1.6.11</version>
                    <configuration>
                        <!-- Container configuration -->
                        <container>
                            <containerId>websphere85x</containerId>
                            <type>installed</type>
                        </container>
                        <configuration>
                            <type>existing</type>
                            <home>WebSphere server location</home>
                        </configuration>
                        <deployables>
                            <deployable>
                                <artifactId>artifact</artifactId>
                                <groupId>com.group</groupId>
                                <type>war</type>
                            </deployable>
                        </deployables>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

我跑步时

  

cargo:deploy-整合

我收到以下错误

  

[错误]无法在项目工件上执行目标org.codehaus.cargo:cargo-maven2->插件:1.6.11:deploy(default-cli):执行>目标org.codehaus.cargo的default-cli: cargo-maven2-plugin:1.6.11:deploy>失败:部署失败:无法执行jython脚本。调用命令时出错! >无法运行程序“ null \ bin \ wsadmin.bat”:CreateProcess错误= 2,系统>找不到指定的文件

有人知道是什么原因造成的吗?

我应该使用什么插件\依赖来获取wsadmin.bat?

或者我该如何解决这个问题?

预先感谢

更新

我几乎可以使它正常工作 新的配置如下

<profile>
    <id>integration</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.6.11</version>
                <configuration>
                    <!-- Container configuration -->
                    <container>
                        <containerId>liberty</containerId>
                        <type>installed</type>
                    </container>
                    <configuration>
                        <home>LibertyServer</home>
                    </configuration>
                    <deployables>
                        <deployable>
                            <artifactId>SIS-AM-CONSOL-GSPWeb</artifactId>
                            <groupId>com.group</groupId>
                            <type>war</type>
                        </deployable>
                    </deployables>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

现在的问题是war文件正被部署到

  

LibertyServer \ servers \ defaultServer \ apps

正确的位置应该是

  

LibertyServer \ usr \ servers \ defaultServer \ apps

我一直在查看the reference guide,但没有找到自定义目录的方法。

我确实尝试添加

<files>
    <copy>
        <file>war file</file>
        <toDir>LibertyServer\usr\servers\defaultServer\apps</toDir>
        <overwrite>true</overwrite>
    </copy>
</files>

进入配置设置。

但是正如预期的那样,这没有用。

有什么想法吗?

再次感谢。

2 个答案:

答案 0 :(得分:0)

更新<home>WebSphere server location</home>以指向您的WAS_HOME位置。当它试图找到wsadmin来执行jython脚本时,它失败了:null \ bin \ wsadmin.bat。 null应该是WAS_HOME的值...

答案 1 :(得分:0)

使用以下代码进行部署

<profile>
    <id>integration</id>
    <build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.cargo</groupId>
                <artifactId>cargo-maven2-plugin</artifactId>
                <version>1.6.11</version>
                <configuration>
                    <!-- Container configuration -->
                    <container>
                        <timeout>600000</timeout>
                        <containerId>liberty</containerId>
                        <type>installed</type>
                        <home>ServerHome</home>
                    </container>
                    <configuration>
                        <type>standalone</type>
                        <home>ServerHome</home>
                    </configuration>
                    <deployables>
                        <deployable>
                            <artifactId>Artifact</artifactId>
                            <groupId>com.group</groupId>
                            <type>war</type>
                        </deployable>
                    </deployables>
                </configuration>
            </plugin>
        </plugins>
    </build>
</profile>

此外,您似乎无法配置war文件的部署位置。 它将仅部署到defaultServer。