簡體   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