下面是令我困惑的内容简介: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