JBoss/Build

Cette page a été rédigée il y a fort fort longtemps, et n'a pas tellement été mise à jour.

 

Vous savez, moi je ne crois pas qu'il y ait de bonne ou de mauvaise page. Moi, si je devais résumer mon wiki aujourd'hui avec vous, je dirais que c'est d'abord des rencontres. Des gens qui m'ont tendu la main, peut-être à un moment où je ne pouvais pas, où j'étais seul chez moi. Et c'est assez curieux de se dire que les hasards, les rencontres forgent une destinée... Parce que quand on a le goût de la chose, quand on a le goût de la chose bien faite, le beau geste, parfois on ne trouve pas l'interlocuteur en face je dirais, le miroir qui vous aide à avancer. Alors ça n'est pas mon cas, comme je disais là, puisque moi au contraire, j'ai pu ; et je dis merci au wiki, je lui dis merci, je chante le wiki, je danse le wiki... je ne suis qu'amour ! Et finalement, quand des gens me disent « Mais comment fais-tu pour avoir cette humanité ? », je leur réponds très simplement que c'est ce goût de l'amour, ce goût donc qui m'a poussé aujourd'hui à entreprendre une construction logicielle... mais demain qui sait ? Peut-être simplement à me mettre au service de la communauté, à faire le don, le don de soi.

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