Parte de mi tubería GitLab CI utiliza Maven ( mvn test
). Maven falla para construir mi proyecto de prueba con el siguiente error:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile (default-testCompile) on project GenericTests: Fatal error compiling: invalid target release: 13 -> [Help 1]
Hice algunas investigaciones y al parecer la configuración JAVA_HOME
de la ubicación de JDK 13 funcionaría, y lo hace, pero sólo cuando lo hago con la mano de forma local a través de SSH.
En mi tubería, incluso si exporto JAVA_HOME
la derecha antes de ejecutar mvn test
sigo teniendo el mismo error.
script:
- export JAVA_HOME=/usr/java/jdk-13.0.2
- mvn test
¿Por qué funciona esto de forma diferente entre GitLab CI y SSH? Podría tener que ver con el hecho de que GitLab IC es un shell no interactivo? ¿Qué puedo hacer para remediar esto?
EDIT: También trató de agregar una release
etiqueta de pom.xml
este modo:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<release>13</release>
</configuration>
</plugin>
pero esto sólo dio lugar a otro error durante el tiempo de construcción:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:testCompile (default-testCompile) on project GenericTests: Fatal error compiling: invalid flag: --release -> [Help 1]
Resultó ser un desastre en marcha por mi parte: mvn test
estaba siendo ejecutado por medio de un alias, que era en realidad sudo mvn test
. Por lo tanto ¿por qué no se está utilizando la variable de entorno y por qué llegué errores denegado el permiso Mojo localmente cuando trató de volver a ejecutar las pruebas.