2016-09-20 8 views
1

tl; dr:mvn clean install работает должным образом, но Дженкинс не в состоянии разрешить переменные в детских позах.Дженкинс не анализирует POM с переменными

У нас есть проект с основным помпом и несколькими подпорами. Кажется, что ошибка в sub pom с переменной ${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> 

Sub ПОМ:

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

Дженкинс не удается разобрать ПОМ и выдает следующее сообщение об ошибке:

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?

В linked question указано, что maven не сможет анализировать свойства дочернего объекта, поскольку они не существовали бы. Журналы maven выше показывают, что это не так.

Приведенная выше информация является отредактированной. Опечатки не являются причиной этой проблемы.

+2

Возможный дубликат [Невозможно разрешить $ {project.version} в детской pom.xml из родительского pom.xml] (http://stackoverflow.com/questions/26858565/ неспособный к разрешению-project-version-in-child-pom-xml-from-parent-pom-xml) – Joe

+0

Связанный ответ указывает, что maven не может разобрать pom из подпапки. Однако здесь команда выполняется из корневой папки проекта и работает безупречно (за исключением предварительного анализа Jenkins). – michaelbahr

ответ

0

Я исправил его, используя проект Freestyle Job вместо Maven project Job. Запустить собственную команду maven в оболочке или локально не было этой проблемы.

Аналогичная ошибка: JENKINS-23846