Java 令人目瞪口呆的故事;FitNesse和Peekaboo罐子“;
我有:Java 令人目瞪口呆的故事;FitNesse和Peekaboo罐子“;,java,maven,jar,jenkins,fitnesse,Java,Maven,Jar,Jenkins,Fitnesse,我有: FitNesse服务器已全部设置 带有所有(或多或少)良好编码的装置的项目。 这个固定装置项目是一个专业的项目 这取决于我测试的项目,也是专业化的项目 它托管在git存储库中 由温柔的詹金斯定期建造 总之,一切都应该很好 但有时,当詹金斯重建和重新包装我的固定装置的罐子时,Fitnesse再也认不出这个罐子了 此jar的位置已由以下人员在提供给FitNesse的pom文件中设置: !pomFile /var/lib/myfitnesse/configFiles/pom.xml
- FitNesse服务器已全部设置
- 带有所有(或多或少)良好编码的装置的项目。
- 这个固定装置项目是一个专业的项目
- 这取决于我测试的项目,也是专业化的项目
- 它托管在git存储库中
- 由温柔的詹金斯定期建造
pom
文件中设置:
!pomFile /var/lib/myfitnesse/configFiles/pom.xml
(哪个文件已经几个月没有更改过。)
当我去查看我的AcceptanceTests.ClasspathPage
时,我看到我的jar文件(当它出现时)位于以下路径:
/var/lib/myfitnesse/.m2/repository/local/company-name/fixtures/test-fixtures/1.1-SNAPSHOT/test-fixtures-1.1-SNAPSHOT.jar
但是当它没有出现时,我要做的第一件事就是使用我最喜欢的命令行界面,去检查我的jar文件是否确实丢失了,当我发现它在那里时,我感到非常惊讶。平静地等待被使用
因此,我卑鄙地滥发我的[CTRL]+[F5]技能,绝望地希望FitNesse醒来,看到上帝抛弃了这个罐子。唉,除非我决定通过詹金斯重建我的固定装置,否则它永远不会成功
因此,为了检查我的jar文件是否损坏,我决定添加:
!path /var/lib/myfitnesse/.m2/repository/local/company-name/fixtures/test-fixtures/1.1-SNAPSHOT/test-fixtures-1.1-SNAPSHOT.jar
在myAcceptanceTests.ClasspathPage
中。但这通电话成功了。“pom包含”包括所有JAR,但我刚刚构建的那个除外,“路径包含”工作得非常好
所以,如果我想总结一下,我会让它发挥作用,但如果我真的把它当成巫毒行为的例子,我将无法尊重自己。所以我必须问这个问题并找到答案:
我在那里错过了什么(因为我坦率地肯定我是)?
我做错了什么?对此有什么合理和合乎逻辑的解释(因为有一种解释,必须存在)
编辑以回答Arnaud Denoyelle的问题 这是我的固定项目pom(至少我可以透露)
假的
测试夹具发布
测试夹具发布
文件://${user.home}/.m2/repository/releases
违约
真的
测试夹具快照
测试夹具快照
文件://${user.home}/.m2/repository/snapshots
违约
您可以在/var/lib/myfitnesse/configFiles/pom.xml中找到与我的装置相关的内容
我的项目
测试夹具
1.1-快照
+1表示“berzerkedly”。您确定您的pom针对的是库的好版本吗?您使用的是发行版而不是快照吗?文件://${user.home}/.m2/repository/snapshots
有风险。本地版和Jenkins版可能没有相同的版本。1.0-SNAPSHOT
很好。值得一提的是,这个项目不是我的,而是我在office工作的项目。版本号已由另一位同事设置,我无权更改。关于运行FitNesse/var/lib/myfitnesse/.m2
的机器上的文件:///${user.home}/.m2/repository/snapshots
是指向执行jenkins任务的“用户”的.m2的符号链接。因此,道路似乎不是关键问题。