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