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