繁体   English   中英

没有这样的文件:詹金斯中的“pom.xml”错误

[英]No such file: ‘pom.xml’ error in jenkins

我在Bitbucket<\/code>有一个存储库。 在那个存储库中,我有一个名为Demo<\/code>的项目,这是一个maven<\/code>项目。 我正在尝试使用Jenkins<\/code>部署Demo<\/code> 。

我正在遵循的步骤<\/strong>。

  1. 在 Jenkins 中创建了一个工作(项目)。<\/li>
  2. 配置(这是单个作业的配置)。

    项目<\/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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM