大家早上好,如何從同一個包中導入資源?
我一直在嘗試幾個小時來管理導入資源和失敗。 我希望我做錯了什麼,你會有一個答案:-)
我想在詹金斯使用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
在我的情況,我有(所在的位置bar.json是)一個名爲resultsProcessor.html資源。這是一個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上運行時沒有問題。如果你有相關的文件或文章,建議,我將不勝感激:-)
非常感謝!
大約資源: 1.目錄'resources'必須在classpath 2.'this.getClass()的getResource( 「/組織/富/ resultsProcessor.html」)' 什麼IDE是你使用?和'groovy console'從IDE或groovy?你能不能在你的問題中提供一個導入失敗的例子。 – daggett