在Jenkins中构建基于maven的作业时,Jenkins希望将pom复制到Jenkins工作区..有时候 - 导致文件找不到异常(跟踪附加)和作业失败(虽然maven构建成功)。 模拟作业配置不会触发此副本,并以成功结束。 任何的想法? 在Jenkins 1.5.62以及1.5.40中, Maven 3.1.1
其他信息: 构建不是通过svn或任何其他修订控制系统触发的。 我发现工作区中的目录子结构不存在, 但在创建它之后,文件没有被复制。 我发现的唯一解决方案是在预期的位置手动复制pom.xml。 当然,Maven并没有失败,因为原始pom.xml的路径位于预期的位置。 所以我想我希望Jenkins做文件复制是错的。 有趣的部分:并非每个具有这种设置的工作(不在工作区中的pom)都会失败。
Stacktrace:
Archiving /home/workspaces/cpp/NXP/Utilities/target/Utilities-1.0-SNAPSHOT.jar to com.nxp.native.utilities/Utilities/1.0-20140508.155024-45/Utilities-1.0-20140508.155024-45.nar
/home/workspaces/4/NXP/Utilities/pom.xml is not inside /var/lib/jenkins/jobs/NXP C++ Development Linux 64bit Utilities/workspace/home/workspaces/cpp/NXP/Utilities/; will archive in a separate pass
/home/workspaces/4/NXP/Utilities/target/Utilities-1.0-SNAPSHOT.jar is not inside /var/lib/jenkins/jobs/NXP C++ Development Linux 64bit Utilities/workspace/home/workspaces/cpp/NXP/Utilities/; will archive in a separate pass
channel stopped
ERROR: Failed to parse POMs
java.io.FileNotFoundException: /var/lib/jenkins/jobs/NXP C++ Development Linux 64bit Utilities/workspace/home/workspaces/cpp/NXP/Utilities/pom.xml (No such file or directory)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:146)
at hudson.FilePath.read(FilePath.java:1637)
at jenkins.plugins.maveninfo.extractor.properties.PomPropertiesFinder.findProperties(PomPropertiesFinder.java:50)
at jenkins.plugins.maveninfo.extractor.MavenInfoExtractor.extract(MavenInfoExtractor.java:58)
at jenkins.plugins.maveninfo.extractor.MavenInfoEnvironment.tearDown(MavenInfoEnvironment.java:42)
at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.doRun(MavenModuleSetBuild.java:862)
at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:518)
at hudson.model.Run.execute(Run.java:1704)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:519)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:231)
答案 0 :(得分:0)
Maven失败,因为包含som ebasic informationen的项目根目录中没有pom.xml。你确定“/home/workspaces/4/NXP/Utilities/pom.xml”存在吗?
所以这可能是失败的原因......
但是:你想让模拟作业触发这个丢失的pom吗? 这个类似的工作是否属于它自己的pom?
答案 1 :(得分:0)
这通常在POM文件格式不正确时发生。 一些maven任务即使在没有形成pom的情况下也会被执行,而有些则在没有正确错误消息的情况下抱怨。 我有同样的问题,最后通过确保POM.xml格式良好来解决它。 一个非常常见的问题可能是:
$(function(){
function boxtoRight(){
$("#box").animate({marginLeft: 510 },3000,'linear',boxtoLeft);
}
function boxtoLeft(){
$("#box").animate({marginLeft: 0},3000,'linear',boxtoRight);
}
boxtoRight();
$(document).keydown(function(e){
if(e.keyCode == 32){
$("#box").css({"background":"green",
"bottom":"70px"
});
}
});
$(document).keyup(function(e){
if(e.keyCode == 32){
$("#box").css({"background":"red",
"bottom":"0px"
});
}
});
});
请记住这样一个带有额外封闭项目的POM文件将通过eclipse成功运行,但在作为Maven项目的一部分运行Jenkins时会抱怨