[英]No such file: ‘pom.xml’ error in jenkins
我在
Bitbucket<\/code>有一个存储库。
在那个存储库中,我有一个名为
Demo<\/code>的项目,这是一个
maven<\/code>项目。
我正在尝试使用
Jenkins<\/code>部署
Demo<\/code> 。
我正在遵循的步骤<\/strong>。
配置(这是单个作业的配置)。
项目<\/strong>名称:演示。
简介<\/strong>:bla bla bla ..
源代码管理<\/strong>-> Git<\/strong> ->存储库 URL<\/strong> :git@bitbucket.org:UserName\/ProjectName.git。
->凭证<\/strong>:提供我的凭证。
构建<\/strong>-> 根 POM:
pom.xml<\/code> 。
一切看起来都很好,但是 pom.xml 抛出错误说:
由于这是它正在寻找 pom.xml 的 maven 项目,因此在提供路径时我很困惑。 因为 Jenkins 正在汇集来自 Bitbucket 的源代码,它在 Demo 项目下有 pom.xml。
但我不知道在这里提供哪条路径。
您必须提及与 jenkins 工作空间相关的应用程序 pom.xml 的路径。
一旦 Jenkins 构建开始,它会将源代码下载到 .jenkins\\jobs\\yourjobname\\workspace 并在那里构建它,如果您不确定 pom 路径,您可以检查此位置。
例如对于应用程序 Test .jenkins\\jobs\\jenkinsJobName\\workspace\\Test\\pom.xml
The root pom field should be Test\pom.xml
如果您的工作区中有 pom.xml,则在 ROOT POM 中使用以下命令。
$workspace\pom.xml
使用 $workspace\\"pom.xml 所在的目录名"\\pom.xml
我很时髦地迟到了这个问题,这并不是一个真正的答案。 我正在记录我遇到的情况,这可能有助于其他人解决 Jenkins 的“没有这样的文件”问题。
我的环境是 Windows 上的 SVN、Maven (3.8.4) 和 Jenkins (2.330)。
我需要从 SVN 中查看 3 个代码库,比如 o-base、p-base 和 p-core。
有一个Maven继承,p-core --> p-base --> o-base(顶层pom),pom中的相对路径相应指向。
我按照 o-base、p-base 和 p-core 的顺序检查了 SVN 的代码。 (o-base check out 是非常必要的,因为在本地 Nexus 中可以使用单个 pom 的工件)。
所有源代码都在以下目录结构中检出: $workspace/o-svn-base/o-base $workspace/o-svn-base/p-base $workspace/o-svn-base/p-core
目标是封装 p-core。
在 Jenkins Invoke top-level-maven Targets 中,我将 pom 文件路径指定为 ./o-svn-base/p-core/pom.xml (相对于工作区),找不到该文件。
有效的是 ../p-core/pom.xml
很明显,Jankins 将第一个签出目录作为代码目录,并计算了相对于该目录的 pom 文件路径。 这种行为在任何地方都没有完全记录(或者我可能找不到); 但是,这是非常不确定的。
上面建议的答案是 $workspace; $workspace/o-svn-base/p-core/pom.xml (是的,正斜杠在 Windows 上有效)有效。
在我看来,这是接近相对路径分辨率的正确方法,因为它是绝对确定的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.