gpt4 book ai didi

java - 我可以将整个应用程序放在一个 JAR 文件中吗?

转载 作者:行者123 更新时间:2023-12-03 18:53:04 25 4
gpt4 key购买 nike

我不太明白 Swing 应用程序的创建是如何工作的。
我创建了一个从路径获取背景图像的简单应用程序。

ImageIcon imageIcon = new ImageIcon("C:\\Java\\ApplicationName\\out\\Resourses\\backGround.jpg");
Image image = imageIcon.getImage(); // Создание картинки из него
Image temp = image.getScaledInstance(500,500,Image.SCALE_SMOOTH);
imageIcon = new ImageIcon(temp);
g2d.drawImage(temp,0,0,null);
它有效,所以我决定制作一个独立于 Java 文件夹中的更改的 JAR 文件(例如删除此图像)并将图像放在 src-images(包)中。我不知道这是否可能。
我开始得到这样的背景图像。
ImageIcon imageIcon = new  ImageIcon(this.getClass().getResource("/images/backGround.jpg")); 
该程序在 IntelliJ IDEA 中完美运行,但如果我将其解压缩到 JAR 文件,我会得到一个空白的背景屏幕。这是为什么?
我可以让我的整个应用程序在单个 JAR 文件中包含图像吗?一个不依赖于其他文件夹?

最佳答案

您当然可以将图像和代码放在一个 jar 文件中。图像未加载,要么是因为它不在 jar 文件中,要么是因为它不在路径 /images/backGround.jpg jar 里面。
关于 jar 文件的一件有用的事情您可能不知道:它们采用 .zip 格式,因此您可以使用任何 zip 工具查看 jar 中的内容(将 jar 文件临时重命名为 .zip 可能会使这更容易)。如果图像不存在,请修复您的 jar 构建(您没有说明您是如何制作它的,因此不确定您需要更改什么)。如果图像在那里但位于不同的路径下,则修复 jar 构建以将其放在正确的位置,或者更改您正在读取它的路径。

关于java - 我可以将整个应用程序放在一个 JAR 文件中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66535959/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com