jar文件如何读取自己的资源文件?

时间:2014-12-07 00:28:12

标签: groovy jar gradle

我上下搜索,并没有理解像我一样的问题的解决方案。也许我不明白这个问题足以从别人那里推断出我自己的解决方案。问题。从我在网上找到的,似乎程序1试图从jar内部读取资源。我试图让一个罐子读取自己的资源。

用例: 我有一个包含源文件和资源文件的groovy项目。在groovy项目中,我可以通过以下代码段读取我的资源文件(位于src / main / resources / locales中)

def dictionaryFile = new File("${localeDirectory}/${name}/${locale}.json");

其中localeDirectory = src / main / resources / locales。

我使用gradle将我的groovy项目构建到一个库中,以便与单独的应用程序一起使用(应用程序2)。当应用程序2开始使用此jar时,上面的代码段无法找到资源文件。我查看了jar文件的结构,看到gradle将资源置于语言环境下(而不是src / main / resources / locales)。

我可以通过什么方式让我的groovy项目访问我的资源文件,并让application2能够使用构建的jar文件来访问自己的资源文件?

1 个答案:

答案 0 :(得分:0)

def final InputStream inputStream = getClass().getResourceAsStream("${localeDirectory}/${name}/${locale}.json");

一旦我改变了我的项目结构,就将locale目录放在与请求资源文件的类相同的包中。