tlでPOMを解析できません; dr:mvn clean install
が期待通りに機能しますが、Jenkinsは子ポームの変数を解決できません。Jenkinsが変数
メイン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>
サブポンポン:
<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
Jenkinsもpomファイルを解析できるように変更する必要はありますか?
linked questionは、mavenが存在しないので、子のプロパティを解析できないと述べています。上のMavenログは、そうではないことを示しています。
上記の情報は編集されています。タイプミスはこの問題の原因ではありません。
[親のpom.xmlから子のpom.xmlに$ {project.version}を解決できません]の可能な重複(http://stackoverflow.com/questions/26858565/子のpom-xml-from-parent-pom-xml) – Joe
リンクされた回答は、mavenがサブフォルダからpomを解析できないことを示しています。ただしここでは、コマンドはプロジェクトのルートフォルダから実行され、完璧に機能します(Jenkinsの事前解析は例外です)。 – michaelbahr