
Ahora selecciona Maven > Existing Maven Projects y pulsa en Next:

En Root Directory pulsa en Browse... para escoger la carpeta donde está el código de XavaPro, es decir xavapro-7.x.x/source-code:

Asegurate de que el proyecto xavapro está marcado y pulsa en Finish.
Al final, el proyecto xavapro con todo su código estará en tu workspace:
Ahora puedes modificar el código de xavapro a tu gusto.
Primero, cambia la versión en xavapro/pom.xml para que sea un SNAPSHOT. Abre el pom.xml dentro del proyecto xavapro y añade el sufijo -SNAPSHOT al número de versión:
Significa que es una versión de trabajo, no con funciones congeladas sino lista para ser modificada.
Ahora es el momento de modificar el código. Por ejemplo, edita el código de ProSignInHelperProvider.java y añade una condición adicional en el método isAuthorized(), como esta:
Luego haz un mvn install en xavapro, de esta forma:
En esta ocasión no ha sido necesario hacer un mvn clean porque es la primera vez y target está vacío, pero si obtienes el código de una versión nueva de XavaPro deberías hacer un mvn clean también.
Ahora, ve a tu proyecto, edita el pom.xml, busca la dependencia xavapro y reemplaza ${openxava.version} por tu propia versión SNAPSHOT (7.0.2-SNAPSHOT en nuestro ejemplo). No cambies el valor de la propiedad openxava.version (a menos que también estés trabajando con tu propia versión modificada de OpenXava):
Esto es importante, de lo contrario tu proyecto no usará el xavapro que has modificado, sino la versión oficial de tu repositorio Maven.
Después haz un mvn clean en tu proyecto:
Y un mvn install también en tu proyecto:
¡Enhorabuena! Tu proyecto está listo para ejecutarse con tu XavaPro modificado. Pruébalo.
Los pasos anteriores son para la primera modificación. A partir de ahora, las próximas modificaciones serán mucho más fáciles, solo tres pasos:
Eso no es todo, también puedes iniciar tu aplicación en modo de depuración, pulsando el botón con el escarabajo:
A partir de la versión 7.5 puedes acorta todavía más el ciclo de modificación gracias a la carga del código en caliente, si usas el JDK incluido en OpenXava Studio 7 R4. Pero para que el código de XavaPro también se recargue en caliente has de hacer una pequeña modificación en tu clase lanzadora:
public static void main(String[] args) throws Exception {
AppServer.run("tuaplicacion", "../xavapro/target/classes");
}
Nota como añadimos como segundo argumento la ruta de las clases del proyecto xavapro (si también tienes el código de OpenXava en tu entorno puedes añadir un tercer argumento con ../openxava/target/classes). En el ejemplo partimos de la base de que tienes xavapro y tu proyecto en el mismo directorio. De esta forma el ciclo de modificación se reduce a nada. Solo has de tocar el código Java en xavapro y usar tu aplicación en el navegador, ni siquiera has de recargar para tener los efectos.
La recarga del código en caliente no incluye los recursos web (JSP, HTML, CSS, etc) para eso tendrás que copiar los archivos (usando el sistema operativo) desde xavapro/src/main/resources/META-INF/resources a tuaplicacion/target/tuaplicacion. Así, tendrias los cambios con solo pulsar en recargar en el navegador, además sin ensuciar el proyecto porque todo lo que hay en target se va al hacer un mvn clean.