How use cargo-maven2-plugin deploy to jboss as5?

EdwardLau picture EdwardLau · Jul 13, 2010 · Viewed 7.2k times · Source

I trying cargo-maven2-plugin, but I don't deploy in jboss5x I pom.xml is

<plugin>
            <groupId>org.codehaus.cargo</groupId>
            <artifactId>cargo-maven2-plugin</artifactId>
            <version>1.0.2</version>
            <configuration>
                <container>
                    <containerId>jboss51x</containerId>
                    <home>E:\JavaWorkingTools\JBoss\jboss-5.1.0.GA</home>
                    <log>${basedir}/target/jboss5.1.x.logs/cargo.log</log>
                    <timeout>300000</timeout> <!-- 5 minutes -->
                    <systemProperties>
                        <jboss.server.log.threshold>INFO</jboss.server.log.threshold>
                    </systemProperties>
                </container>
                <configuration>
                    <type>existing</type>
                    <home>${project.build.directory}/target/jboss51x</home>
                    <properties>
                        <cargo.jvmargs>-XX:PermSize=512m -XX:MaxPermSize=1024
                            -XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled
                            -XX:+CMSClassUnloadingEnabled</cargo.jvmargs>
                    </properties>
                </configuration>
                <deployer>
                    <type>installed</type>
                    <deployables>
                        <deployable>
                            <groupId>${project.groupId}</groupId>
                            <artifactId>${project.artifactId}</artifactId>
                            <type>war</type>

                            <!--
                                <pingURL>http://localhost:8080/${artifactId}</pingURL>
                                <pingTimeout>300000</pingTimeout>
                            -->
                            <pingURL>http://localhost:8080/${project.artifactId}/index.jsp</pingURL>
                            <properties>
                                <context>/${project.artifactId}</context>
                            </properties>
                        </deployable>
                    </deployables>
                </deployer>
            </configuration>
            <executions>
                <execution>
                    <id>start-container</id>
                    <phase>pre-integration-test</phase>
                    <goals>
                        <goal>start</goal>
                    </goals>
                </execution>
                <execution>
                    <id>stop-container</id>
                    <phase>post-integration-test</phase>
                    <goals>
                        <goal>stop</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>

I run a cargo:deployer-start or cargodeployer-deploy is error

cargo:deployer-start Error message is:

Failed to execute goal org.codehaus.cargo:cargo-maven2-plugin:1.0.2:deployer-start (default-cli) on project SSH2Maven: Execution default-cli of goal org.codehaus.cargo:cargo-maven2-plugin:1.0.2:deployer-start failed: Not supported -> [Help 1]

and cargodeployer-deploy

The Deployable state is thus unknown. ->

I read a Deploying to a running container but I dont't know how to depoly webapp in jboss5 :(

Answer

Pascal Thivent picture Pascal Thivent · Jul 13, 2010

There is something strange with your configuration. Since you're using an installed existing container, I'd expect to see the path to its home, not to a directory under target. Here is a configuration I'm using:

  <plugin>
    <groupId>org.codehaus.cargo</groupId>
    <artifactId>cargo-maven2-plugin</artifactId>
    <version>1.0.2</version>
    <configuration>
      <container>
        <containerId>jboss51x</containerId>
        <append>false</append>
        <log>${project.build.directory}/logs/jboss51x.log</log>
        <output>${project.build.directory}/logs/jboss51x.out</output>
        <timeout>300000</timeout><!-- 5 minutes -->
      </container>
      <configuration>
        <type>existing</type>
        <home>/path/to/jboss-5.1.0.GA</home>
        <properties>
          <cargo.servlet.port>8080</cargo.servlet.port>
          <cargo.jboss.configuration>default</cargo.jboss.configuration>
          <cargo.rmi.port>1099</cargo.rmi.port>
          <cargo.logging>high</cargo.logging>
        </properties>
        <deployables>
          <!-- application to deploy -->
          <deployable>
            <groupId>${project.groupId}</groupId>
            <artifactId>myapp</artifactId>
            <type>war</type>
            <!-- 
            <properties>
              <context>acontext</context>
            </properties>
            -->
          </deployable>
        </deployables>
      </configuration>
    </configuration>
  </plugin>