【问题标题】:Problems using image resources of plug in jars插件jar的图片资源使用问题
【发布时间】:2014-02-03 22:58:59
【问题描述】:

我目前正在开发一个支持插件的应用程序。插件位于名为 modules 的根文件夹中作为 jar 文件。我的主应用程序使用 java 服务加载器加载位于 modules 文件夹中的所有 jar

Application
    src
    modules

我的模块具有以下文件夹结构:

PlugIn
    src
    resources

插件使用的图像存储在资源文件夹中。我的问题是无论我做什么,我似乎都无法加载这些图像文件。我已经尝试使用 getClass().getResource() 等,就像以前的帖子所建议的那样,但没有运气。任何人都可以提出一个可能的解决方案吗?

编辑

插件是加载资源的插件。主应用不接触插件资源

【问题讨论】:

    标签: java serviceloader


    【解决方案1】:

    您应该在src 中包含您的resources

    PlugIn
         src
             resources
                    image.png
    

    然后使用

    getClass().getResource("/resources/image.png");
    

    当你构建时,资源应该被加载到你的类路径

    【讨论】:

    • 有没有办法不将它包含在 src 文件夹中?我尝试将资源文件夹转换为源文件夹,但没有成功
    • “有没有办法不将它包含在 src 文件夹中?” 这是你想要的。不一定在我有它的地方,但在 src 中是的。嵌入式资源将从类路径中加载。如果资源在 src 中,它将被内置到类路径中。
    • 所以你说文件夹的正确位置是在 src 文件夹中?
    • 对于嵌入式资源,是的。虽然成为 src 的直接孩子并不是唯一的方法。我使用 Maven,并将resources 放入src/main。不仅如此,我还在resources 中放了一个包。与我的课程的包相同的包名称。当 Maven 构建时,所有资源都将被加载到与类文件相同的包中。我认为这是一种非常标准的方法。至少使用 Maven。
    猜你喜欢
    • 2015-05-02
    • 2014-11-12
    • 1970-01-01
    • 2011-01-28
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    相关资源
    最近更新 更多