JBossWS - Building From Source

    This page documents the Maven based build that we use since jbossws-3.0.2. See the Mavenization page for details regarding configuring you Maven environment. The Ant based build of previous versions, is documented here.

    Checkout and build JBossAS

    For building JBoss AS 7 series, have a look at https://community.jboss.org/wiki/HackingOnAS7

     

    For previous JBoss AS versions instead:

       svn co http://anonsvn.jboss.org/repos/jbossas/trunk
       cd trunk
       build/build.sh
    

    For more information, see SVNRepository

     

    Run jboss

    Before you start jboss, you should follow the deploy steps for a supported stack (see below).

    Then start the application server using the scripts available for that.

     

    Checkout and build JBossWS-CXF

       svn co http://anonsvn.jboss.org/repos/jbossws/stack/cxf/trunk jbossws-cxf
    

    For more information, see Subversion

    Edit profiles.xml (JBossWS 3.x only)

        <profile>
          <id>jboss-home-profile</id>
          <activation>
            <property>
              <name>user.name</name>
            </property>
          </activation>
          <properties>
            <jboss421.home>/home/tdiesler/svn/jbossas/tags/JBoss_4_2_1_GA/build/output/jboss-4.2.1.GA</jboss421.home>
            <jboss422.home>/home/tdiesler/svn/jbossas/tags/JBoss_4_2_2_GA/build/output/jboss-4.2.2.GA</jboss422.home>
            <jboss423.home>/home/tdiesler/svn/jbossas/branches/Branch_4_2/build/output/jboss-4.2.3.GA</jboss423.home>
            <jboss500.home>/home/tdiesler/svn/jbossas/tags/JBoss_5_0_0_Beta4/build/output/jboss-5.0.0.Beta4</jboss500.home>
            <jboss501.home>/home/tdiesler/svn/jbossas/trunk/build/output/jboss-5.0.0.CR1</jboss501.home>
          </properties>
        </profile>
    

     

    Starting from JBossWS 4, the build is supporting Maven 3, which made the use of profiles.xml deprecated.
    As a consequence of that, you should actually be providing the jbossXYZ.home property on the command line when invoking mvn.

    Build/Deploy

    To deploy jbossws-cxf 4.x or greater (Maven 3) you run (replace XYZ with the selected JBoss AS version):

    cd jbossws-cxf
    ant -DjbossXYZ.home=<absolute-path-to-JBoss-AS-XYZ> deploy-jbossXYZ
    

     

    To deploy jbossws-cxf 3.x (Maven 2) you run (replace XYZ with the selected JBoss AS version):

       cd jbossws-cxf
       ant deploy-jbossXYZ
    

     

    Starting from JBossWS-CXF 3.4.0 SpringFramework libraries are not installed by default. If you still want that you need to add the -Dspring=true option:

    ant -Dspring=true deploy-jboss500
    

     

    When jboss starts you should see something like

    13:16:25,104 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
    13:16:25,106 INFO  [ServerImpl] Release ID: JBoss [Morpheus] 5.0.0.CR1 (build: SVNTag=JBoss_5_0_0_CR1 date=200805051004)
    ...
    13:18:01,278 INFO  [CXFServerConfig] JBoss Web Services - Stack CXF Runtime Client
    13:18:01,279 INFO  [CXFServerConfig] 3.0.2-SNAPSHOT
    ...
    13:18:09,355 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
    13:18:09,389 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.0.CR1 (build: SVNTag=JBoss_5_0_0_CR1 date=200805051004)] Started in 1m:44s:270ms
    

    Run the smoke tests

       cd jbossws-cxf
       mvn -Psmoketest,jboss501 test
    

     

    Starting from JBossWS 4, the integration testsuites have been moved to 'integration-test' maven phase. So you need to use:

     

    mvn -Psmoketest,jbossXYZ -DjbossXYZ.home=path-to-jbossXYZ integration-test

     

    You should expect to see no test failures. There might be a number of FIXME messages on the console. These are linked to open JIRA issues.

    Tests that are known to fail should be excluded in the container specific exclude file. Note, if a test is excluded it is not even compiled and hence will not run in any of the ant test targets.

     

    Checkout and build JBossWS-Native

       svn co http://anonsvn.jboss.org/repos/jbossws/stack/native/trunk jbossws-native
    

    For more information, see Subversion


    Edit profiles.xml (JBossWS 3.x only)

        <profile>
          <id>jboss-home-profile</id>
          <activation>
            <property>
              <name>user.name</name>
            </property>
          </activation>
          <properties>
            <jboss421.home>/home/tdiesler/svn/jbossas/tags/JBoss_4_2_1_GA/build/output/jboss-4.2.1.GA</jboss421.home>
            <jboss422.home>/home/tdiesler/svn/jbossas/tags/JBoss_4_2_2_GA/build/output/jboss-4.2.2.GA</jboss422.home>
            <jboss423.home>/home/tdiesler/svn/jbossas/branches/Branch_4_2/build/output/jboss-4.2.3.GA</jboss423.home>
            <jboss500.home>/home/tdiesler/svn/jbossas/tags/JBoss_5_0_0_Beta4/build/output/jboss-5.0.0.Beta4</jboss500.home>
            <jboss501.home>/home/tdiesler/svn/jbossas/trunk/build/output/jboss-5.0.0.CR1</jboss501.home>
          </properties>
        </profile>
    
    Starting from JBossWS 4, the build is supporting Maven 3, which made the use of profiles.xml deprecated.
    As a consequence of that, you should actually be providing the jbossXYZ.home property on the command line when invoking mvn.

    Build/Deploy

    To deploy jbossws-native you run:

       cd jbossws-native
       ant deploy-jboss501
    

    When jboss starts you should see something like

    09:32:09,581 INFO  [ServerImpl] Starting JBoss (Microcontainer)...
    09:32:09,583 INFO  [ServerImpl] Release ID: JBoss [Morpheus] 5.0.0.CR1 (build: SVNTag=JBoss_5_0_0_CR1 date=200805051004)
    ...
    09:33:24,587 INFO  [NativeServerConfig] JBoss Web Services - Stack Native Core
    09:33:24,588 INFO  [NativeServerConfig] 3.0.2-SNAPSHOT
    ...
    09:33:32,318 INFO  [AjpProtocol] Starting Coyote AJP/1.3 on ajp-127.0.0.1-8009
    09:33:32,341 INFO  [ServerImpl] JBoss (Microcontainer) [5.0.0.CR1 (build: SVNTag=JBoss_5_0_0_CR1 date=200805051004)] Started in 1m:22s:744ms
    

    Run the smoke tests

       cd jbossws-native
       mvn -Psmoketest,jboss501 test
    

    You should expect to see no test failures.  There might be a number of FIXME messages on the console. These are linked to open JIRA issues.

     

    Starting from JBossWS 4, the integration testsuites have been moved to 'integration-test' maven phase. So you need to use:

     

    mvn -Psmoketest,jboss710 -Djboss710.home=path-to-jboss710 integration-test