大家早上好,
我一直在努力管理导入资源并失败。 我希望我做错了,你会得到一个答案: - )
我正在尝试在Jenkins中使用groovy共享库。 我遵循了文档中描述的目录结构:
(root)
+- src # Groovy source files
| +- org
| +- foo
| +- Bar.groovy # for org.foo.Bar class
+- vars
| +- foo.groovy # for global 'foo' variable
| +- foo.txt # help for 'foo' variable
+- resources # resource files (external libraries only)
| +- org
| +- foo
| +- bar.json # static helper data for org.foo.Bar
就我而言,我有一个名为resultsProcessor.html的资源(位于bar.json所在的位置)。这是一个html模板。 我还有一个名为ResultsProcessor.groovy的课程(位于Bar.groovy所在的地方)。在这个类中,我想获取resultsProcessor.html的内容来呈现它。
到目前为止,已经有很多小时和很多挫折! 我尝试过使用不同的东西,包括
this.getClass().getResource("resultsProcessor.html")
this.getClass().getResource("/resultsProcessor.html")
this.getClass().getResource("org/foo/resultsProcessor.html")
使用getClassLoader等的一些变体。 每次我得到“null”。
你知道我在这里缺少什么吗? 我是否需要将资源添加到搜索路径?
总的来说,我在导入/类路径上苦苦挣扎。例如,为什么某些导入在本地使用groovy控制台失败,而在Jenkins上运行时它们没有问题。如果你有相关文件或文章建议我会很感激: - )
非常感谢!
答案 0 :(得分:0)
首先感谢dagget在这里提供帮助。 我正在使用groovy直接使用groovy控制台。 最后我安装了IntelliJ IDE。一旦我将“resources”目录标记为根资源目录,我的代码就可以在本地运行。所以我想我在使用groovy控制台时没有正确设置类路径。
詹金斯仍然失败。 getResource返回null。但这是另一个故事。至少现在我已经畅通了。
谢谢!