Cómo configurar Java 1.8 para compilar en Maven
Anuncio:
En esta ocasión, vamos a ver cómo configurar Java 1.8 para compilar en maven.
Estaba probando Javalin, un framework web muy ligero de Java. Estoy probando en un Ubuntu 18.04 con Eclipse 2019-03. Y estaba usando la versión de maven que Eclipse trae incorporada junto con OpenJDK 1.8.
Agregué la dependencia de Javalin a mi POM
< dependency >
< groupId >io.javalin< / groupId >
< artifactId >javalin< / artifactId >
< version >2.5.0< / version >
< / dependency >
Y en la clase principal App.java defino el main:
public static void main( String[] args ) {
Javalin app = Javalin.create().start(7000);
app.get("/", ctx -> ctx.result("Hello World"));
}
Cual es mi sorpresa cuando voy a compilar que maven me da el siguiente error:
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project javalin: Compilation failure
[ERROR] /home/tali/eclipse-workspace/javalin/src/main/java/com/galisteocantero/javalin/App.java:[12,26] lambda expressions are not supported in -source 1.5
[ERROR] (use -source 8 or higher to enable lambda expressions)
Reviso Eclipse para verificar la versión de Java que tengo instalada y activada, confirmando que tengo la versión 8 de Java:
Aún estando seleccionada la versión 8 de Java, de hecho, no tenía otra versión instalada, maven continuaba diciéndome que necesita Java 8 para soportar los lambdas y poder compilar el objeto ctx:
app.get("/", ctx -> ctx.result("Hello World"));
Bien, después de darle bastante vueltas, recordé que podemos indicarle a maven la versión de java que deseamos en pom.xml. Así que abrí mi pom, busqué la sección properties y ahí le indique la versión de Java de la siguiente forma:
< properties >
< maven.compiler.source >1.8< / maven.compiler.source >
< maven.compiler.target >1.8< / maven.compiler.target >
< / properties >
Al compilar de nuevo, maven ya toma la versión 8 de Java y pude compilar correctamente:
[INFO] ------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------
De este modo, podemos configurar Java 1.8 para compilar en Maven. Puedes aprender más en nuestra sección de Java.
Espero que te haya sido de utilidad!