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

标签 groovy jar gradle

我已经上下搜索,还没有理解似乎是我的问题的解决方案。也许我对问题的理解不足以从他人的问题中推断出自己的解决方案。从我在网上可以找到的内容来看,程序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/

相关文章:

android - 如何解决找不到com.google.gms :google-services:4. 1.0.?

grails - Groovy 在 list.find 调用上给出 NPE,但仅在一段时间之后

gradle - 如何使用gradletestkit测试现有的gradle.build?

java - Groovy 不喜欢 Reflections 构造函数采用 null 参数

java - 启动了 GUI beanshell 但应用程序卡住了

android - 测试生成特定 xml junit 文件的 android 应用程序

grails - 从Groovy中的对象列表中收集值

java - 无法将 Gradle 构建为 Make 项目

java - 如何从另一个 jar 运行一个 jar 并在执行期间显示第一个可运行的控制台输出

gradle - 为什么在 buildSrc 目录中的自定义 gradle.kts 文件中找不到 'publishing' 函数?