java - 如何在 Jar 文件中使用 2 个不同的 res 文件夹

标签 java jar imageicon

我有一个在 Eclipse 中完美运行的程序。这棵树看起来像这样:

PROGRAM
--SRC
----all my java files...
--res1
---- null.jpg
--res2
---- null.jpg

这两个 null.jpg 是不同的,但是当我尝试移动到 jar 文件时,它们被组合在一起,然后我无法像通常调用它们那样使用它们。有什么方法可以在 jar 文件中创建 res 文件夹,以便我正常访问我的文件吗?

另外,为了获取图片,我在程序中使用了此代码:

Imageicon i = new ImageIcon("res1/null.jpg");

(是的,我知道上面的代码不适用于 jar 文件,因为它们是从 res1 文件夹移动到 null.jpg 文件夹中的。我尝试使用:
new ImageIcon (getClass().getResource("null.jpg"));,但这对我不起作用......)

此外,我不能只使用 null1 和 null2,因为我有大约 300 张图片。所以这对我来说不是一个解决方案......

任何帮助将不胜感激!谢谢!

最佳答案

首先,确保项目的结构与最终在 jar 文件中的结构相同。那么,如果它在 eclipse 中工作,它也可以与 jar 文件一起工作。

因此将您的目录结构更改为如下所示:

- src
- resources
  |- res1
  |  \- null.jpg
  \- res2
     \-null.jpg

在代码中,您可以使用 getClass().getResource("/res1/null.jpg")/res2/ 当然引用它

关于java - 如何在 Jar 文件中使用 2 个不同的 res 文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19887102/

相关文章:

java - 将 JToggleButton ImageIcon 居中

java - 下载多个 JSON 数组 Android

java - java中的HTTP GET请求

java - JSF - 重定向到页面并记住参数 ID 以进行搜索

maven - 如何强制 lein deps 重新获取本地 jars/libs

java - 将 ImageIcon 转换为 BufferedImage

java - 用于运行和公开 docker 镜像的 Kubernetes 客户端 API

java - 我已经使用 maven 构建了一个 jar 文件,但无法在 linux 中使用 "java"命令执行它

jar - Karate 运行者 -> Karate jar : Command line args settings issue

java - 在 swing 中调整图像大小