如何使用Cargo maven插件将JB远程部署到JBoss 5.1.0.GA?

时间:2012-02-24 19:09:05

标签: deployment jboss maven-cargo

我正在尝试使用Cargo maven插件远程部署WAR文件到JBoss 5.0.1 GA,但似乎我不能。 我找到了类似的线程,但没有一个终于帮助我解决了我的问题。 我遵循这些instructions。一些看起来很重要的要点是:

  

从CARGO 1.0.3开始,CARGO支持JBoss应用服务器上的远程部署的方式已经发生了巨大变化。从JBoss 5.x开始,JBoss有一个Deployment Manager,可用于在JBoss服务器上部署内容。

我的pom文件如下所示:

<plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.2.0</version>
            <configuration>
                <wait>true</wait>
                <container>
                    <timeout>500000</timeout>
                    <containerId>jboss51x</containerId>
                    <type>remote</type>
                </container>
                <configuration>
                    <type>runtime</type>
                    <properties>
                        <cargo.remote.username></cargo.remote.username>
                        <cargo.remote.password></cargo.remote.password>
                         <cargo.hostname>localhost</cargo.hostname>
                         <cargo.rmi.port>8080</cargo.rmi.port>
                         <cargo.jvmargs>-XX:MaxPermSize=512M -Xmx1512m</cargo.jvmargs>  
                    </properties>
                    <deployables>
                      <deployable>
                        <groupId>myGroupId</groupId>
                        <artifactId>myArtifactId</artifactId>
                        <type>war</type>
                      </deployable>
                    </deployables>
                </configuration>
            </configuration>
             <dependencies>
                <dependency>
                      <groupId>org.jboss.integration</groupId>
                      <artifactId>jboss-profileservice-spi</artifactId>
                      <version>5.1.0.GA</version>
                </dependency>
                <dependency>
                    <groupId>org.jboss.jbossas</groupId>
                     <artifactId>jboss-as-client</artifactId>
                     <version>5.1.0.GA</version>
                     <type>pom</type>
              </dependency>
            </dependencies>
        </plugin>

当我尝试部署战争时(通过运行mvn cargo:deploy)我遇到了这种错误:

Caused by: javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:8080 and discovery failed with error: javax.na
ming.CommunicationException: Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Root exception is javax.naming.Comm
unicationException: Failed to retrieve stub from server localhost/127.0.0.1:8080 [Root exception is java.io.EOFException]]
        at org.jnp.interfaces.NamingContext.checkRef(NamingContext.java:1763)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:693)
        at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:686)
        at javax.naming.InitialContext.lookup(InitialContext.java:392)
        at org.codehaus.cargo.tools.jboss.JBossDeployer.getDeploymentManager(JBossDeployer.java:185)
        at org.codehaus.cargo.tools.jboss.JBossDeployer.deploy(JBossDeployer.java:70)
        at org.codehaus.cargo.container.jboss.JBoss5xRemoteDeployer.deploy(JBoss5xRemoteDeployer.java:212)
    ... 23 more
Caused by: javax.naming.CommunicationException: Failed to retrieve stub from server localhost/127.0.0.1:8080 [Root exception is java.io.EOFException]

javax.naming.CommunicationException: Could not obtain connection to any of these urls: localhost:8080 and discovery failed with error: javax.naming.CommunicationException:Receive timed out [Root exception is java.net.SocketTimeoutException: Receive timed out] [Rootexception is javax.naming.CommunicationException: Failed to retrieve stub from server localhost/127.0.0.1:8080 [Root exception is java.io.EOFException]]

你有什么建议吗?我甚至不清楚我是否需​​要在JBoss中安装一些特殊的插件或库,或者我的pom配置应足以远程部署我的war文件。可能我在这里缺少一些基本的东西。

感谢您的时间

1 个答案:

答案 0 :(得分:0)

最后我找到了解决方案:)

我使用了错误的rmi端口。默认值为1099。 所以,我在我的pom文件中输入了<cargo.rmi.port>1099</cargo.rmi.port>并修复了问题!