0

我想使用Cargo将我的 maven 生成war文件部署到已经运行的远程 JBoss 服务器。

我已经这样配置了pom.xml

    ...
        <plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>

            <dependencies>
                <dependency>
                    <groupId>org.jboss.as</groupId>
                    <artifactId>jboss-as-controller-client</artifactId>
                    <version>7.1.0.Final</version>
                </dependency>
            </dependencies>

            <configuration>
                <!-- Container configuration -->
                <container>
                    <timeout>300000</timeout> <!-- 5 minutes -->
                    <containerId>jboss71x</containerId>
                    <type>remote</type>
                </container>

                <!-- Configuration to use with the container -->
                <configuration>
                    <type>runtime</type>
                    <properties>
                        <cargo.hostname><myIP></cargo.hostname>
                        <cargo.jboss.management.port>9999</cargo.jboss.management.port>
                        <cargo.remote.username><myUser></cargo.remote.username>
                        <cargo.remote.password><myPass></cargo.remote.password>
                    </properties>
                </configuration>
                <!-- Deployer configuration -->
                <deployer>
                    <type>remote</type>
                </deployer>

                <!-- Deployables configuration -->
                <deployables>
                    <deployable>
                        <groupId>de.<myGroup></groupId>
                        <artifactId><myArtifact></artifactId>
                        <type>war</type>
                        <pingURL>http://<myIP>:8080/<myContextPath></pingURL>
                        <pingTimeout>60000</pingTimeout>
                    </deployable>
                </deployables>

            </configuration>
        </plugin>
    ...

当然,< my...> 形式的所有变量都用实际值填写。

如果我使用 maven 命令运行它:

mvn -X cargo:deploy

Maven控制台说:

...
Sep 12, 2012 5:06:12 PM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.0.3.GA
Sep 12, 2012 5:06:12 PM org.jboss.remoting3.EndpointImpl <clinit>
INFO: JBoss Remoting version 3.2.2.GA
[DEBUG] [swordCallbackHandler] Responded to a RealmCallback
[DEBUG] [swordCallbackHandler] Responded to a NameCallback
[DEBUG] [swordCallbackHandler] Responded to a PasswordCallback
[INFO] [Boss7xRemoteDeployer] The deployment has failed: org.codehaus.cargo.util.CargoException: Cannot deploy deployable org.codehaus.cargo.container.jboss.deployable.JBossWAR[myWar.war]
...

在正在运行的 JBoss 服务器上,我可以在控制台中看到如下日志消息:

17:07:24,197 ERROR [org.jboss.remoting.remote.connection] (Remoting "pc09:MANAGEMENT" read-1) JBREM000200: Remote connection failed: java.io.IOException: Eine vorhandene Verbindung wurde vom Remotehost geschlossen.

(对不起日志里面的德语。它基本上说:远程主机关闭了现有连接。)

有谁知道可能出了什么问题,或者我如何从货物中获得更多调试信息以找出问题所在?

顺便说一句:我已经使用 JBoss CLI 访问该 Jboss 服务器进行Arquillian测试,所以我非常有信心通过 CLI 访问该 Jboss 服务器应该没问题。

编辑: 似乎我必须先取消部署。为了确保对 CLI 的访问正常,我只是使用jboss-cli.bat. 然后我只是巧合地取消了现有的战争,然后通过货物的部署开始工作。(我可以关闭此问题或以任何方式将其标记为已解决吗?)

4

0 回答 0