Maven Jenkins无法使用变量解析POM
tl;dr:Maven Jenkins无法使用变量解析POM,maven,jenkins,jenkins-2,Maven,Jenkins,Jenkins 2,tl;dr:mvn clean install按预期工作,但Jenkins无法解析子POM中的变量 我们有一个主pom和多个子pom的项目。它似乎在子pom中失败,变量${project.version}未被解析(请参阅下面的错误消息并滚动到其末尾) 主要pom: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
mvn clean install
按预期工作,但Jenkins无法解析子POM中的变量
我们有一个主pom和多个子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>
Jenkins无法解析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文件,必须更改哪些内容?
声明maven将无法解析子属性,因为它们不存在。上面的maven日志表明情况并非如此
上面的信息是经过编辑的。打字错误不是这个问题的原因。我通过使用Freestyle项目作业而不是Maven项目作业来修复它。在shell中或本地运行本机maven命令不存在此问题 类似的错误:
我通过使用自由式项目作业而不是Maven项目作业来修复它。在shell中或本地运行本机maven命令不存在此问题 类似的错误:
链接答案的可能重复说明maven无法从子文件夹解析pom。然而,在这里,该命令是从项目根文件夹执行的,并且可以完美地工作(Jenkins的预解析除外)。链接答案的可能重复说明maven无法从子文件夹解析pom。然而,在这里,该命令是从项目根文件夹执行的,并且可以完美地工作(Jenkins的预解析除外)。
[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