openxava / documentación / Java 25

Por defecto, OpenXava se compila con Java 8, por lo que puedes utilizar OpenXava con Java 8, 11, 17 o 21. Además, desde la versión 7.6, OpenXava admite Java 25, por lo tanto, puedes compilar y ejecutar tus aplicaciones OpenXava con Java 25 y disfrutar de sus nuevas características.
Para utilizar Java 25 en tu aplicación, debes cambiar el nivel de compilación en el archivo pom.xml de tu proyecto, de esta manera:
<maven.compiler.source>25</maven.compiler.source>
<maven.compiler.target>25</maven.compiler.target>

Para que Java 25 reconozca las anotaciones de Lombok has de añadir el siguiente plugin en la parte de build del pom.xml de tu proyecto:

<build>
    <finalName>${artifactId}</finalName>
    <plugins>
	
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.12.0</version>
            <configuration>
                <source>${maven.compiler.source}</source>
                <target>${maven.compiler.target}</target>
                <encoding>${project.build.sourceEncoding}</encoding>
            </configuration>
        </plugin>
	
        ...
		
    </plugins>		
</build>

<!-- Activa el procesamiento de anotaciones desde el classpath (Lombok vía openxava); necesario desde JDK 25.
     -proc:full solo existe desde JDK 23, por eso va en este profile para que compile también con JDK 17. -->
<profiles>
    <profile>
        <id>jdk23-annotation-processing</id>
        <activation>
            <jdk>[23,)</jdk>
        </activation>
        <build>
            <plugins>
                <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <proc>full</proc>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

Esto es necesario incluso si el nivel de compilación no es 25. Con <proc>full</proc>, el procesamiento de anotaciones se ejecuta desde el classpath, así que Lombok llega de forma transitiva desde la dependencia openxava y no necesitas declarar una versión de Lombok en tu pom.xml.

Fíjate en que <proc>full</proc> se pone en un profile activado para JDK 23 o superior, porque el flag -proc:full no existe en JDKs anteriores. Si lo pones directamente en la sección build, al compilar con JDK 17 o 21 fallará con error: invalid flag: -proc:full. Con el profile, el mismo pom.xml funciona con JDK 17, 21 y 25.

En los proyectos creados a partir de la v7.6 este maven-compiler-plugin para Java 25 se incluye por defecto en el pom.xml, aunque comentado. En los proyectos creados a partir de la v7.6.4.1 ya aparece sin comentar. Si tu plugin todavía usa annotationProcessorPaths con una versión fija de Lombok, sustitúyelo por la configuración de arriba.


Las siguientes instrucciones son para configurar OpenXava Studio para usar Java 25. Obviamente, deberías tener instalado JDK 25 en tu ordenador.

Añadir Java 25 a OpenXava Studio

El primer paso es indicar a OpenXava Studio donde está instalado JDK 25. Para ello, ve a Window > Preferences > Java > Installed JREs, y allí agrega JDK 25 a la lista de Installed JREs:eclipse-installed-jres-java25.png
No es necesario que lo marques como el JRE predeterminado.

Configurar para compilar con Java 25

Deberías definir tu propia configuración de Maven para compilar, empaquetar o instalar tu aplicación e indicar en esa configuración que vas a utilizar Java 25. Utiliza esa configuración para compilar o empaquetar tu aplicación. Es decir, haz clic derecho en tu proyecto y elige Run As > Maven build..., luego en el cuadro de diálogo crea una configuración para llamar al goal package y llámala tuproyecto package25 (por ejemplo), de esta manera:
eclipse-maven-package-java25.png
Luego, ve a la pestaña JRE y en la opción Alternate JRE, elige el JDK 25 como JRE, de esta manera:
eclipse-maven-package-java25-set-jre.png
Ahora haz clic en Run y tu aplicación se compilará y empaquetará utilizando Java 25. A partir de este momento, puedes usar la configuración package25 que has creado para compilar con Java 25.

Configurar para ejecutar con Java 25

Debes editar tu configuración de ejecución para utilizar JDK 25 al ejecutar tu aplicación. Para ello, haz clic en la entrada del menú Run Configuration...:
eclipse-run-configurations.png
Selecciona tu aplicación a la derecha, en la sección Java Application. Luego, ve a la pestaña JRE y en Alternate JRE elige el JDK 25, de esta manera:
eclipse-run-configuration-java25.png
Haz clic en Run, y tu aplicación se ejecutará utilizando Java 25.

Nota: Ten cuidado, porque si en algún momento haces un Maven > Upgrade Project en tu proyecto, este podría marcarse con errores. No te preocupes, simplemente haz clic derecho en tu proyecto y elige Properties > Java Build Path > Libraries. Allí, elimina la librería JRE de Java 18 y agrega la librería de Java 25 con el botón Add Library....