Building JOnAS

Get the sources

Subversion

Anonymous access:

svn checkout svn://svn.forge.objectweb.org/svnroot/jonas/jonas/trunk jonas

Developer access:

svn checkout svn+ssh://svn.forge.objectweb.org/svnroot/jonas/jonas/trunk jonas
A    jonas/README.J2EE
A    jonas/.project
A    jonas/src
A    jonas/src/.classpath
A    jonas/src/.project
A    jonas/src/conf
A    jonas/src/conf/java.policy
A    jonas/src/conf/PostgreSQL1.properties
A    jonas/src/conf/Oracle1.properties
A    jonas/src/conf/jaas.config
A    jonas/src/conf/HSQL1.properties
A    jonas/src/conf/context.xml
A    jonas/src/conf/clusterd.xml
A    jonas/src/conf/traceclient.properties
...

Environment setup

Update Maven settings.xml

Internet Proxies

This section is useful when the developer is behind a proxy (Squid, ...).

Add a proxies section:

<proxies>
 <proxy>
   <active>true</active>
   <protocol>http</protocol>
   <host>PROXY_HOST</host>
   <port>PROXY_PORT</port>
   <nonProxyHosts>localhost|OTHER_HOSTS</nonProxyHosts>
 </proxy>
</proxies>

Notice that you can declare proxies for https repositories by changing protocol to https.

Maven tips

For windows

This is for windows users: Your maven2 repository has to be in a directory without any space. This is a bug that may comes from the JSP compiler maven plugin.

You can move your C:/Documents and Settings/User/.m2/repository in C:/m2 for example. You have to make the follow change in your C:/Documents and Settings/User/settings.xml to give to maven the repository location:

<settings>
  [ . . . ]
 <localRepository>YOUR NEW REPOSITORY LCOATION</localRepository>
</settings>

When OutOfMemory occurs

Set the following line in your environment:

export MAVEN_OPTS="-Xms256m -Xmx512m"

Repositories Proxies

This section is useful for developers that can access maven repositories acting like a cache to central maven2 repositories (central, ...).

This configuration is suited for a maven archiva or proximity repository.

Remember to change the URLs according to your local proxy configuration.

<profiles>
    <profile>
        <id>Repository Proxy</id>
        <activation>
            <activeByDefault>true</activeByDefault>
        </activation>
        <repositories>
            <repository>
                <id>local-proxy</id>
                <url>http://mururoa.frec.bull.fr:12000/px-webapp.war/repository/public</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </repository>
        </repositories>
        <pluginRepositories>
            <pluginRepository>
                <id>local-plugins-proxy</id>
                <url>http://mururoa.frec.bull.fr:12000/px-webapp.war/repository/public</url>
                <releases>
                    <enabled>true</enabled>
                </releases>
                <snapshots>
                    <enabled>true</enabled>
                </snapshots>
            </pluginRepository>
        </pluginRepositories>
    </profile>
</profiles>

Servers

Building JOnAS

Maven Build

The Maven Build compiles all the JOnAS modules:

mvn clean install

If the svn command is not available in your PATH (may be the case for Windows developers), it is recommended to use the following compilation command line:

mvn -P!build-number-generation clean install

Here is a snippet of the output:

[INFO] Scanning for projects...
[INFO] Reactor build order:
[INFO]   JOnAS
[INFO]   JOnAS : Modules
[INFO]   JOnAS : APIs
[INFO]   JOnAS : APIs : Deployment
[INFO]   JOnAS : APIs : Services Interfaces
[INFO]   JOnAS : Libraries
[INFO]   JOnAS : Libraries : Commons
[INFO]   JOnAS : Libraries : Deployment
[INFO]   JOnAS : Libraries : Naming
[INFO]   JOnAS : Services
[INFO]   JOnAS : Services : Service Manager
[INFO]   JOnAS : Libraries : J2EE Management (JSR 77)
[INFO]   JOnAS : Services : JMX
[INFO]   JOnAS : Services : Security
[INFO]   JOnAS : Libraries : Version Number
[INFO]   JOnAS : Libraries : Timer Manager
[INFO]   JOnAS : Services : JCA Resource
[INFO]   JOnAS : Libraries : EJB Container
[INFO]   JOnAS : Services : Carol Registry
[INFO]   JOnAS : Services : HSQL DB
[INFO]   JOnAS : Services : Mail
[INFO]   JOnAS : Services : JOTM Transaction
[INFO]   JOnAS : Services : Web Services
[INFO]   JOnAS : Services : Web Container
[INFO]   JOnAS : Services : Web Container :: Base
[INFO]   JOnAS : Services : Web Container :: Tomcat
[INFO]   JOnAS : Services : Web Container :: Tomcat :: 6.0.x
[INFO]   JOnAS : Security :: Tomcat :: 5.5.x
[INFO]   JOnAS : Services : Web Container :: Tomcat :: 5.5.x
[INFO]   JOnAS : Services : JCA WorkManager
[INFO]   JOnAS : Tools
[INFO]   JOnAS : Tools : Ant Tasks
[INFO]   JOnAS : Tools : Cluster Daemon
[INFO]   JOnAS : Generators
[INFO]   JOnAS : Generators : Base
[INFO]   JOnAS : Generators : Client Stubs
[INFO]   JOnAS : Generators : WSGen
[INFO]   JOnAS : EE Components
[INFO]   JOnAS : EE Components : Web Context Root
. . .
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2 minutes 5 seconds
[INFO] Finished at: Mon Jun 11 13:31:28 CEST 2007
[INFO] Final Memory: 26M/53M
[INFO] ------------------------------------------------------------------------

Thank You