【发布时间】:2018-12-11 01:24:19
【问题描述】:
我的文件路径如下:
+------------+ +-----------------+ +------------------+
| | | | | |
| src +-----------> com +--+---> application |
| | | | | | |
+------------+ +-----------------+ | +------------------+
|
| +------------------+
| | |
+---> resources |
| |
+------------------+
我的代码在应用程序文件夹中,我要加载的图片在资源中。
我使用以下代码将图像从资源中获取到应用程序中的类(图像是 BufferedImage)。
image = ImageIO.read(new File("./src/com/resources/Pad.png"));
这似乎在我的 IDE (intellij) 中工作,因为我可以看到加载的图像为 shown
但是,当我构建时,没有显示图像。我正在构建:
文件 -> 项目结构 -> 工件 -> 绿加 -> JAR -> 从具有依赖项的模块 -> 我的主类位置 -> 提取到目标 Jar
然后我构建工件 -> 构建。
所以当我去构建 jar 的目的地并运行它时,没有一张图片是 shown
我通过提取包含图片但由于某种原因代码未加载图片的 jar 来检查图像是否在构建的 jar 中。
【问题讨论】:
-
请说明
ImageIO类的包。是javax.imageio吗? -
它是
import javax.imageio.ImageIO; -
永远不要在你的代码中引用
src——这正是你现在拥有的原因
标签: java image build jar embedded-resource