我最近开始使用Jenkins作为我的Maven Selenium自动化项目的CI工具。
我的本地eclipse工作区的路径是:
/media/user/Data/Automation_Scripts
并且用于执行项目的pom.xml
文件的完整路径是:
/media/user/Data/Automation_Scripts/[project_name]/pom.xml
现在,我已经安装了Jenkins并为其添加了一个Maven项目。当我尝试在“Build”下的“Root POM”文本字段中输入项目的pom.xml
文件时,我得到以下错误:
No such file: ‘/media/user/Data/Automation_Scripts/test/pom.xml’
然而,如果我导航到同一路径,则存在pom.xml
文件。当我在Jenkins中构建Maven项目时,会显示以下错误:
Started by user Test Building in workspace
/var/lib/jenkins/jobs/TEST/workspace Parsing POMs ERROR: No such file
/media/user/Data/Automation_Scripts/test/pom.xml Perhaps you need to
specify the correct POM file path in the project configuration?
Finished: FAILURE
更新:
我在jenkins工作区中创建了一个pom.xml文件,该文件位于:
/var/lib/jenkins/jobs/TEST/workspace
在这个pom文件中,通过以下方式给出了我的实际pom.xml(位于另一个文件夹中)的路径:
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>Maven Default Project</name>
<artifactId>jenkins_test</artifactId>
<parent>
<groupId>ca.test</groupId>
<artifactId>maven_test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<relativePath>/media/user/Data/Automation_Scripts/test/pom.xml</relativePath>
</parent>
</project>
我现在仍然收到以下错误:
Building in workspace /var/lib/jenkins/jobs/TEST/workspace
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: Could not find artifact ca.test:maven_test:pom:0.0.1-SNAPSHOT and 'parent.relativePath' points at wrong local POM @ line 6, column 9
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:364)
at hudson.maven.MavenEmbedder.buildProjects(MavenEmbedder.java:361)
at hudson.maven.MavenEmbedder.readProjects(MavenEmbedder.java:331)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1301)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1098)
at hudson.FilePath.act(FilePath.java:1018)
at hudson.FilePath.act(FilePath.java:996)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.parsePoms(MavenModuleSetBuild.java:960)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:679)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:534)
at hudson.model.Run.execute(Run.java:1720)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:531)
at hudson.model.ResourceController.execute(ResourceController.java:98)
at hudson.model.Executor.run(Executor.java:404)
Finished: FAILURE
我猜相对路径有问题。你能告诉我这里缺少什么吗?
答案 0 :(得分:0)
尝试提供相对路径而不是实际的绝对路径。 默认情况下,jenkins job将path视为工作空间路径。 在作业的工作空间中提供pom.xml,并将路径提供为文件名I.e pom.xml