Jenkins 如何从同一个包导入资源?

Jenkins 如何从同一个包导入资源?,jenkins,groovy,Jenkins,Groovy,各位早上好, 我已经尝试了几个小时来管理导入资源,但失败了。 我希望我做错了什么,你会有一个答案:-) 我正在尝试使用Jenkins中的groovy共享库。 我遵循了文档中描述的目录结构: (root) +- src # Groovy source files | +- org | +- foo | +- Bar.groovy # for org.foo.Bar class +- vars | +- foo.gro

各位早上好,

我已经尝试了几个小时来管理导入资源,但失败了。 我希望我做错了什么,你会有一个答案:-)

我正在尝试使用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等的变体。 每次我得到“空”

你知道我错过了什么吗? 我是否需要将资源添加到搜索路径

总的来说,我在导入/类路径方面遇到了很多困难。例如,为什么有些导入在本地使用groovy控制台失败,而在Jenkins上运行时却没有问题。如果您有相关文件或文章可供参考,我将不胜感激:-)

非常感谢

首先感谢您的帮助。 我是从groovy直接使用groovy控制台进行开发的。 最后我安装了IntelliJ IDE。一旦我将“resources”目录标记为root resources目录,我的代码立即在本地工作。因此,我想我在使用groovy控制台时没有正确设置类路径

詹金斯仍然失败。getResource返回null。但这是另一个故事。至少现在我被解封了


谢谢

关于资源:1。目录
resources
必须在类路径2中
this.getClass().getResource(“/org/foo/resultsProcessor.html”)
您使用的是什么IDE?和
groovy控制台
来自IDE还是来自groovy?请在您的问题中提供一个导入失败的示例。