Дженкинс не может разобрать POM с переменными
ТЛ; др: mvn clean install
работает как положено, но Дженкинс не может разрешить переменные в дочерних poms.
У нас есть проект с основным и несколькими вспомогательными помпами. Кажется, что не удается в подпом с переменной ${project.version}
не решается (см. сообщение об ошибке ниже и прокрутите до конца).
Главный пом:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<version>1.0.0.0-SNAPSHOT</version>
...
</project>
Подпом:
<parent>
<groupId>group</groupId>
<artifactId>artifact</artifactId>
<version>${project.version}</version>
<relativePath>../pom.xml</relativePath>
</parent>
mvn clean install
на консоли работает без нареканий:
[INFO] Installing /path/to/jenkins/workspace/Project/pom.xml to /path/to/.m2/repository/de/project/1.0.0.0-SNAPSHOT/project-1.0.0.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
...
[INFO] PROJECT 1.0.0.0-SNAPSHOT - EAR project ........... SUCCESS [ 5.038 s]
[INFO] PROJECT 1.0.0.0-SNAPSHOT - Aggregator project ........ SUCCESS [ 0.156 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:03 min
[INFO] Finished at: 2016-09-20T12:58:03+02:00
[INFO] Final Memory: 104M/1088M
[INFO] ------------------------------------------------------------------------
Дженкинс не может разобрать pom и выдает следующую ошибку:
Parsing POMs
ERROR: Failed to parse POMs
org.apache.maven.project.ProjectBuildingException: Some problems were encountered while processing the POMs:
[FATAL] Non-resolvable parent POM: Failure to transfer my.package:project:pom:${project.version} from http://mynexus.com/content/groups/default was cached in the local repository, resolution will not be reattempted until the update interval of nexus-default has elapsed or updates are forced. Original error: Could not transfer artifact my.package:project:pom:${project.version} from/to nexus-default (http://mynexus.com/content/groups/default): Illegal character in path at index 78: http://mynexus.com/content/groups/default/my/package/project/${project.version}/panda-${project.version}.pom and 'parent.relativePath' points at wrong local POM @ line 26, column 10
Что нужно изменить, чтобы Дженкинс тоже мог разобрать файл pom?
Связанный вопрос гласит, что maven не сможет проанализировать свойства ребенка, поскольку их не будет. Приведенные выше журналы Maven показывают, что это не так.
Информация выше отредактирована. Опечатки не являются причиной этой проблемы.
1 ответ
Я исправил это, используя проект Freestyle Job вместо проекта Maven Job. Запустите встроенную команду maven в оболочке или локально не было этой проблемы.
Аналогичная ошибка: JENKINS-23846