下面是令我困惑的內容簡介:Jenkins編譯正確版本的錯誤代碼
使用Maven在NetBeans 8.0中構建原始代碼。使用所有模塊成功構建。將當前源提交給gitlab並仔細檢查提交是否完成。
指向Jenkins與成功構建代碼相同的版本(在gitlab上)。
由於試圖導入一個不存在的包(意識到這會失敗),構建代碼的修訂從未實際調用(沒有意義),所以構建失敗。
從gitlab代碼:
import com.company.path.toPackage.currentToken.packageName;
(other imports on same package path)
在詹金斯(錯誤礦換行符,爲便於閱讀):
[ERROR] /var/lib/jenkins/jobs/Project Name -
branch/workspace/module/src/main/java/com/
company/path/toPackage/oldToken/packageName/PackageMember:[3,57]
package com.company.path.toPackage.oldToken.packageName does not exist
(same error for every import on same package path)
看起來它可能是一個POM問題,所以我拉起了POM(也來自詹金斯聲稱要查看的版本):
<parent>
<artifactId>project</artifactId>
<groupId>com.company.path.toPackage.currentToken</groupId>
<version>versionInfo</version>
<relativePath>../parent-project</relativePath>
</parent>
<dependencies>
<!-- project dependencies: platform -->
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>packageName</artifactId>
<version>${project.version}</version>
...
主POM正確聲明組ID:
<groupId>com.company.path.toPackage.currentToken</groupId>
我目前處於虧損狀態,爲什麼詹金斯是不是在編譯的版本是代碼指着實際包含。我已經確認Git Build Data下的版本號與gitlab上分支頭的版本號相匹配,並且這與我在IDE中使用Maven成功構建的版本號相同。有人能指出我正確的方向來解決這個問題嗎?
[編輯]在沒有怨言的同一個項目中具有類似依賴關係的其他模塊,我比較了pom文件和包結構。
預先感謝您。
錯誤似乎在gitlab中,它在文件結構(無關文件夾)中有一個奇怪的地方,它在源碼樹或項目中加載到IDE時不會顯示 - 解決該問題。 – Sean 2014-09-24 21:57:00
通過瀏覽gitlab知識庫(通過瀏覽代碼)發現問題,然後檢查出來,手動刪除流浪文件夾,並在項目中檢查清除它。出於某種原因,我不知道它實際上並沒有在SourceTree中顯示這些文件夾。 – Sean 2014-09-24 22:09:41