我已经上下搜索,还没有理解似乎是我的问题的解决方案。也许我对问题的理解不足以从他人的问题中推断出自己的解决方案。从我在网上可以找到的内容来看,程序1似乎正在尝试从jar中读取资源。我试图让一个jar读取自己的资源。
用例:
我有一个包含源文件和资源文件的常规项目。从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文件来访问其自己的资源文件?
最佳答案
def final InputStream inputStream = getClass().getResourceAsStream("${localeDirectory}/${name}/${locale}.json");
一旦我更改了项目结构以将语言环境目录与请求资源文件的类放在同一个程序包中,此方法就会起作用。
关于groovy - jar文件如何读取自己的资源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27338196/