La última versión disponible no tiene por qué ser la más estable, pero si queremos probar nuevas funcionalidades o tener entornos de testeo con las últimas versiones, la solución es bastante fácil: el código fuente del proyecto lo tenemos alojado en GitHub. A partir de ahí, sólo es necesario ponernos manos a la obra para compilarlo.
Requisitos
Necesitaremos JDK 1.8 (en Oracle podemos conseguirla fácilmente, aunque también nos sirve equivalente OpenJDK), Maven y GIT, que podemos instalar fácilmente con apt-get:
#Debian y derivadas apt-get install maven git #RHEL y derivadas yum install maven git
Compilando desde fuentes
Creamos un directorio donde vamos a clonar el repositorio del proyecto de GitHub:
mkdir jbosscomp
Clonamos el repo dentro de ese directorio:
cd jbosscomp git clone https://github.com/wildfly/wildfly.git
Ahora dentro podremos ejecutar el script build.sh
(o build.bat
para Windows) que vendrá en el repo que hemos clonado para compilar Jboss. Antes de instalar es recomendable hacer algunos “smoke tests” que podéis ver bajo el epígrafe “running the Testsuite” del README que tienen en el repositorio. Para ejecutarlos todos (esto es opcional):
./build.sh install -DallTests -Drelease=true
Ármate de paciencia porque es un proceso que lleva bastante tiempo (+20 minutos).
Para compilar sin necesidad de pasar los tests podemos hacer lo siguiente:
./build.sh install -Dmaven.test.skip=true -Drelease=true
Tardará bastante menos en compilar Jboss, aunque no podremos tener la certeza de que algún componente o subsistema esté libre de errores. Si todo ha salido bien veremos:
Tendremos los binarios de nuestro Jboss compilado en:
build/target/wildfly-VERSION/
Por ejemplo en el caso de mis pruebas en build/target/wildfly-10.0.0.CR5-SNAPSHOT/
¿Cómo cambiar la ruta de destino (target) de la compilación?
Ya hemos visto que por defecto los binarios compilados quedan en build/target/wildfly-VERSION/
. Podemos especificar una ruta personalizada. Para ello buscaremos el fichero pom.xml
en el directorio build
. Encontraremos la siguiente línea:
<outputDirectory>${project.build.directory}</outputDirectory>
Podemos sustituir el valor por la localización que deseemos. Los binarios compilados irán a parar al target especificado. Por ejemplo:
<outputDirectory>/opt/jboss/build/</outputDirectory>
Ahora tras compilar tendremos los binarios dentro del directorio /opt/jboss/build/
Probando los binarios
Podemos probar a iniciarlo y realizar algunas pruebas:
cd build/target/wildfly-10.0.0.CR5-SNAPSHOT/bin
Y una vez aquí probar a ejecutarlo en standalone o modo dominio:
./standalone.sh ./domain.sh
Deberíamos ver que por lo menos inicia correctamente:
NOTA: Wildfly es la versión “comunitaria” de Jboss Application Server de toda la vida. La versión que tiene soporte (previo pago) de Red Hat sigue llamándose Jboss EAP.