2016-09-20 2 views
1

tl; dr :mvn clean install을 사용하여 POM을 구문 분석하지 못해도 Jenkins는 하위 poms의 변수를 확인할 수 없습니다.Jenkins가 변수

메인 POM과 여러 개의 하위 POM이있는 프로젝트가 있습니다. 변수 ${project.version}이 해결되지 않은 하위 pom에서 실패하는 것 같습니다 (아래 오류 메시지를 참조하고 끝으로 스크롤).

홈페이지 치어 :

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

하위 POM : 콘솔에

<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 

Jenkins도 pom 파일을 구문 분석 할 수 있도록 변경해야 할 내용은 무엇입니까?

linked question은 maven이 존재하지 않을 때 자식 속성을 구문 분석 할 수 없다고 명시합니다. 위의 메이븐 로그는 이것이 사실이 아니라는 것을 보여줍니다.

위의 정보가 수정되었습니다. 오타가이 문제의 원인이 아닙니다.

+2

의 사용 가능한 복제 [부모의 pom.xml에서 하위의 pom.xml에서 $ {project.version}을 (를) 확인할 수 없습니다 (http://stackoverflow.com/questions/26858565/ 자식 버전 -pom-xml-from-parent-pom-xml) – Joe

+0

링크 된 대답은 maven이 하위 폴더에서 pom을 구문 분석 할 수 없음을 나타냅니다. 그러나 여기서 명령은 프로젝트 루트 폴더에서 실행되며 완벽하게 작동합니다 (Jenkins의 사전 구문 분석 제외). – michaelbahr

답변

0

Maven 프로젝트 작업 대신 Freestyle project Job을 사용하여 수정했습니다. 셸에서 원시 maven 명령을 실행하거나 로컬로이 문제가 없습니다.

유사한 오류 : JENKINS-23846

관련 문제