#azure #spring-boot #maven
#azure #весенняя загрузка #maven
Вопрос:
Я настраиваю конвейер для приложения spring-boot с помощью JDK 11. При запуске конвейера появляется ошибка ниже.
[ОШИБКА] Не удалось выполнить цель org.apache.maven.plugins: maven-compiler-plugin: 3.8.1: компиляция (по умолчанию-компиляция) в проекте xxxxx: Неустранимая ошибка компиляции: недопустимый целевой выпуск: 11 -> [Справка 1].
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>11</source>
<target>11</target>
<verbose>true</verbose>
</configuration>
</plugin>
Но это работает нормально команда локального развертывания: mvn clean package spring-boot: run.
Кто-нибудь может сказать мне, почему эта проблема возникает только в конвейере?
Ответ №1:
Эта проблема связана с тем, что в вашем агенте конвейера не предустановлена Java 11.
У вас есть два варианта решения этой проблемы.
Вариант 1. Измените агент конвейера на агент, у которого предварительно установлена Java 11.
Если вы используете размещенные в Microsoft конвейерные агенты, вы можете использовать эту ссылку, чтобы проверить, какие все агенты имеют предустановленную Java 11: размещенные в Microsoft агенты
Вариант 2. Установите Java 11 JDK в существующий агент конвейера.
Вы можете использовать задачу установки Java Tool для установки любой версии Java в существующем конвейере.
Комментарии:
1. Как добиться варианта 1 в файле pipline yml?
Ответ №2:
Возможно, JDK, работающий в вашем конвейере, — это, скажем, версия 8. В этом случае выполняемый компилятор Java не понимает, что означает версия 11. Возможно, ваша локальная среда использует Java 11, где эта проблема, следовательно, не возникнет.
Ответ №3:
У меня была та же проблема. Вам необходимо указать версию jdk в pipeline .yaml-файле:
Для сборки с помощью Maven добавьте следующий фрагмент в свой файл azure-pipelines.yml. Измените значения, такие как путь к вашему pom.xml файл, соответствующий конфигурации вашего проекта. Подробнее об этих параметрах см. в задаче Maven.
steps:
- task: Maven@3 inputs:
mavenPomFile: 'pom.xml'
mavenOptions: '-Xmx3072m'
javaHomeOption: 'JDKVersion'
jdkVersionOption: '1.11'
jdkArchitectureOption: 'x64'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
goals: 'package'
https://docs.microsoft.com/en-us/azure/devops/pipelines/ecosystems/java?view=azure-devops#maven
Ответ №4:
Я решил эту проблему, добавив новый файл system.properties, а содержимое, добавленное в файл, — java.runtime.version= 11.
java.runtime.version=11