【发布时间】:2016-03-06 16:58:49
【问题描述】:
我正在为 Android Studio 构建一个 Groovy 插件,它将执行一些 gradle 任务。但是我需要从执行代码的 JAR 文件中加载一个 XML 文件。
JAR 文件如下:
- com/packagename/code
- META-INF/gradle-plugins
- 文件名.xml
因为 xml 文件位于 JAR 的根目录,所以我使用它来将资源加载到输入流中
new InputStreamReader(CheckStyleTask.class.getResourceAsStream("/filename.xml"))
奇怪的是它只在某些时候有效。有时它返回文件,有时它返回 null。例如我拿这条线来检查路径:
println(CheckStyleTask.class.getResource("/filename.xml").getPath())
而且路径是完全正确的。所以它可以用getResource找到文件,但是用getResourceAsStream它返回null。
我认为 jar 的构建有问题,但在 IntelliJ 中,我将 gradle 任务设置为“jar”,它确实创建了一个带有工作 xml 文件的工作 jar。
我在建筑物方面做错了什么还是 xml 文件有什么问题?
【问题讨论】:
标签: java android groovy gradle inputstream