Rédaction inachevée…
La façon de compiler et construire JBoss AS dépend grandement de sa version. Les plus récents sont hébergés sur GitHub et construit avec Maven alors qu’auparavant, c’était Subversion et Ant, voire un savant mélange de Ant et de Maven. La documentation sur le sujet est un peu éparpillée, mais le meilleur point d’entrée est probablement sur le wiki de JBoss.
JBoss AS 7
git clone https://github.com/jbossas/jboss-as.git
cd jboss-as/
export MAVEN_OPTS=-Xmx256m
mvn clean install
Je ne connais pas les prérequis en terme de version de Maven, mais je l’ai fait fonctionner avec Maven 3.0.3.
JBoss AS 5 / 6
La version 6 de JBoss AS est une évolution de la version 5. Elles sont basées sur la même architecture et utilisent le même référentiel de code. Le choix de la version est donc lié aux tags. J’ai restreint le périmètre à JBoss AS 5 et 6 (+ EAP), mais on pourrait remonter à JBoss AS 2.2 !
Pour la version en cours, on utilise donc le trunk :
svn co http://anonsvn.jboss.org/repos/jbossas/trunk/ .
export JAVA_HOME=...
./build.sh
Le JBossAS nouvellement constitué est dans build/target. Pour le démarrer :
cd build/target/jboss-6.1.1-SNAPSHOT/
bin/run.sh
Pour compiler une version spécifique, on utilise les tags.
JBoss AS 6.0
svn co http://anonsvn.jboss.org/repos/jbossas/tags/6.0.0.Final/ .
export JAVA_HOME=...
./build.sh
puis pour le lancer
cd build/target/jboss-6.0.0.Final/
bin/run.sh
JBoss AS 5.1
Dans JBoss AS 5, les choses se compliquent. Le build utilise du Ant, qui lui-même utilise des portions de Maven. On ne peut pas lancer le build depuis la racine. Il fallait utiliser le répertoire build. Enfin, les repositories JBoss inscrits dans le pom.xml ne sont plus accessibles ; ensuite, certains artefacts ont été dépréciés ; il faut donc le mettre à jour.
svn co http://anonsvn.jboss.org/repos/jbossas/tags/JBoss_5_1_0_GA/ .
cd build
./build.sh
Remarque :
-
Ça ne fonctionne pas avec Ant 1.8, il faut revenir à Ant 1.7.
JBoss EAP 5.1
svn co http://anonsvn.jboss.org/repos/jbossas/tags/JBPAPP_5_1_1_GA/ .
cd build
./build.sh
Glassfish 3
La façon de construire Glassfish 3 est très bien expliqué sur le wiki de Sun. Oui oui, c’est toujours sun.com. Le code source est hébergé dans un dépot Subversion et le build se fait avec Maven.
svn checkout https://svn.java.net/svn/glassfish~svn/trunk/main .
export MAVEN_OPTS=-Xmx1024m
mvn clean install
Remarque :
-
le Xmx à 512m préconisé n’était pas suffisant. Ça suffit peut-être sur une VM en 32bits. Le plus compliqué dans l’affaire, du moins pour le néophyte, est de trouver la localisation du Glassfish compilé :
cd /Users/alexis/Projet/sw-oracle/gf3/appserver/distributions/glassfish/target/stage/glassfish3/glassfish
bin/asadmin start-domain