Ошибка сборки Maven: «недопустимый целевой выпуск» только в GitLab CI - PullRequest
4 голосов
/ 27 января 2020

Часть моего конвейера GitLab CI использует Maven (mvn test). Maven не может создать мой тестовый проект со следующей ошибкой:

[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]

Я провел некоторое исследование, и, очевидно, установка JAVA_HOME в расположение JDK 13 будет работать, и это работает, но только тогда, когда я это делаю вручную через S SH.

В моем конвейере, даже если я экспортирую JAVA_HOME прямо перед запуском mvn test, я все равно получаю ту же ошибку.

script:
     - export JAVA_HOME=/usr/java/jdk-13.0.2
     - mvn test

Почему эта работа по-разному между GitLab CI и S SH? Может ли это быть связано с тем, что GitLab CI является неинтерактивной оболочкой? Что я могу сделать, чтобы исправить это?

РЕДАКТИРОВАТЬ: Я также попытался добавить тег release в pom.xml, например, так:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
  <configuration>
    <release>13</release>
  </configuration>
</plugin>

, но это привело только к другой ошибке во время время сборки:

[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]

1 Ответ

0 голосов
/ 27 января 2020

С моей стороны это оказалось ошибкой: mvn test выполнялся с помощью псевдонима, который на самом деле был sudo mvn test. Следовательно, почему переменная окружения не использовалась и почему я получил разрешение Mojo, в котором отказано в локальных ошибках при попытке перезапустить тесты.

...