Thursday, September 8, 2011

Builds Glassfish : mes 2 erreurs

Faire un build de Glassfish 3.x est d'une simplicité enfantine. Il suffit d'installer un client subversion, Maven 2 et un JDK 6. Les quelques lignes qui suivent reprennent les opérations nécessaires ainsi que les erreurs que j'ai pu rencontrer...

Build Glassfish

Les opérations sont simples :
  • faire un checkout de la version qui vous intéresse
  • lancer l'installation via Maven qui effectue compilation, packaging et tests au passage
svn checkout https://svn.java.net/svn/glassfish~svn/branches/3.1.2 

cd 3.1.2
export M2_HOME=/opt/apache-maven-2.2.1
export M2=$M2_HOME/bin
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26
export PATH=$JAVA_HOME/bin:$M2:$PATH
mvn install

[...]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 minutes 27 seconds
[INFO] Finished at: Thu Sep 08 01:08:18 CEST 2011
[INFO] Final Memory: 243M/552M
[INFO] ------------------------------------------------------------------------
Vous pouvez démarrer le domaine par défaut et utiliser glassfish :
cd distributions/glassfish/target/stage/glassfish3/bin

./asadmin start-domain
Waiting for domain1 to start ......
Successfully started the domain : domain1
domain  Location: /home/arkzoyd/build/3.1.2/distributions/glassfish/target/stage/glassfish3/glassfish/domains/domain1
Log File: /home/arkzoyd/build/3.1.2/distributions/glassfish/target/stage/glassfish3/glassfish/domains/domain1/logs/server.log
Admin Port: 4848
Command start-domain executed successfully.

./asadmin version
Version = GlassFish Server Open Source Edition 3.1.2-SNAPSHOT (build arkzoyd-private)
Command version executed successfully.
Vous me direz, ça ne sert pas à grand chose...

Mes erreurs

J'ai fait 2 erreurs un peu naïves. Vous serez peut-être content de trouver des notes à ce sujet :
  • d'abord le projet ne compile pas avec un JDK 7. Vous devrez utiliser une version 1.6.0_24+.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Internal error in the plugin manager executing goal 'com.sun.enterprise:hk2-maven-plugin:1.1.6:hk2-compile':  Unable to load the mojo 'com.sun.enterprise:hk2-maven-plugin:1.1.6:hk2-compile' in the plugin 'com.sun.enterprise:hk2-maven-plugin'. A required class is missing: com/sun/mirror/apt/AnnotationProcessorFactory
com.sun.mirror.apt.AnnotationProcessorFactory
[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 50 seconds
[INFO] Finished at: Wed Sep 07 22:59:13 CEST 2011
[INFO] Final Memory: 83M/302M
[INFO] ------------------------------------------------------------------------
  • ensuite, il ne compile pas non plus correctement avec les versions 3 de Maven les fichiers de descriptions ne contiennent pas les versions des plugins nécessaires ce que Maven 3 force à préciser
[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for org.glassfish.cluster:cluster-common:hk2-jar:3.1.2-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ org.glassfish:glassfish-parent:3.1.2-SNAPSHOT, /home/arkzoyd/build/3.1.2/pom.xml, line 800, column 21
Je vais pouvoir apprendre plein de choses sur les internes de Glassfish et, après tout, si ça ne marche pas, je pourrais également m'en prendre à moi-même. 

1 comment: