JOnAS header

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 ~/.m2/repository in c:m2 for example. You have to make the follow change in your ~/.m2/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

Maven for JOnAS/OSGi

Do not forget to add the -Dipojo=true property when invoking maven, otherwise ipojo plugin will not be executed.

mvn -Dipojo=true clean install

Maven for JOnAS/Classic

Be sure that you DO NOT include the ipojo property, otherwise the JOnAS classes will be manipulated by iPOJO and will no more be usable outside of an OSGi context.

For all

The Maven Build compiles all the JOnAS modules:

mvn 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] ------------------------------------------------------------------------

Ant Build

The Ant Build is based on the old JOnAS 4.X build process. It uses the jar files produced by maven2 and install a JOnAS binaries in $JONAS_ROOT.

ant clean install

Buildfile: build.xml

clean:

install: [delete] Deleting directory /home/sauthieg/pkg/jonas_root_50 [mkdir] Created dir: /home/sauthieg/pkg/jonas_root_50

all:

. . .

inst: [copy] Copying 1619 files to /home/sauthieg/pkg/jonas_root_50 [copy] Copied 492 empty directories to 1 empty directory under /home/sauthieg/pkg/jonas_root_50 [echo] JOnAS installation completed in the jonas.root directory: /home/sauthieg/pkg/jonas_root_50

BUILD SUCCESSFUL Total time: 3 minutes 9 seconds

Log-in Register
Copyright © ObjectWeb 2006
Creator: sauthieg  Date: 2007/06/11 11:11 Last Author: sauthieg  Date: 2007/10/17 16:07
Java, and all Java-based trademarks, JMX and all JMX based trademarks, are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. OSGi is a trademark, registered trademark, or service mark of The OSGi Alliance in the US and other countries. Bull is independent of Sun Microsystems, Inc.