我正在爲Android Studio構建一個Groovy插件,它將執行一些gradle任務。不過,我需要從代碼執行的JAR文件中加載一個XML文件。從JAR文件中加載xml文件有時可以運行
JAR文件是如下:
- COM /包/代碼
- META-INF/gradle這個-插件
- filename.xml中
因爲XML文件是在我用此JAR的根在資源裝載到一個InputStream
new InputStreamReader(CheckStyleTask.class.getResourceAsStream("/filename.xml"))
奇怪的是,它只有時有效。有時會返回文件,有時會返回null。例如,我用這條線檢查路徑:
println(CheckStyleTask.class.getResource("/filename.xml").getPath())
而且路徑是完全正確的。所以它能夠使用getResource找到文件,但使用getResourceAsStream它將返回null。
我認爲某件事情是錯誤的罐子建設,但我的IntelliJ設定的任務的gradle作爲「罐子」,這確實創造了工作與XML文件的工作罐子。
難道我做錯什麼關於建築物或有什麼不對的xml文件?