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:
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.
Buildfile: build.xmlclean:install:
[delete] Deleting directory /home/sauthieg/pkg/jonas_root_50
[mkdir] Created dir: /home/sauthieg/pkg/jonas_root_50all:. . .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_50BUILD SUCCESSFUL
Total time: 3 minutes 9 seconds