创建应用程序的JAR后,该应用程序中的图像将不再显示。我们用于加载图像的代码示例如下:
ImageIcon placeHolder = new ImageIcon("src\\Cards\\hidden.png");
我们不知道为什么会这样。如果不将其压缩为JAR,则应用程序将按预期运行;作为JAR,图像就消失了。我们还尝试使用URL代替ImageIcons,但这只会导致程序根本无法运行。
有任何想法吗?
编辑:我们将图像文件放在正确路径的JAR文件中,所以这不是问题。
检查您要调用的构造函数的API 。您传递的字符串是一个文件路径-
当资源打包在JAR中时,文件系统上没有包含该图像的文件,因此您不能再使用此构造函数。
相反,您需要使用类加载器从流中加载资源,并将其拉入字节数组:
byte[] buffer = new byte[IMAGE_MAX_SIZE];
InputStream imageStream = getClassLoader().getResourceAsStream("src\Cards\hidden.png");
imageStream.read(buffer, 0, IMAGE_MAX_SIZE);
ImageIcon placeHolder = new ImageIcon(buffer);
当然,需要更多的异常和边缘案例处理,但这就是要旨。
当我在Eclipse中运行它时,它会显示图片,但当我将其导出到.jar文件时,它只是显示一个空白窗口。
当我构建一个jar文件并运行它时,由于找不到图像图标,它显示一个空指针异常 这是我运行jar文件时得到的错误 但是当我在NetBeans中运行这个项目时,它运行良好 这是我列出罐子里所有文件时的输出
在目标linux服务器上使用spring-boot:run命令克隆项目后,可以上传和查看JSP中的图像。但使用war或jar无法将图像存储在WEB-INF/images文件夹下。有谁可以请帮助关于如何存储图像和检索图像。我还需要帮助在/var/images下存储图像,并从/var/images中检索图像。Images文件夹应该是独立的。
问题内容: 美好的一天! 我创建了jar文件(使用Netbeans),但无法启动。该项目使用lwjgl库。在我的IDE中,它运行良好。 我使用下一个命令: 答案是: 其他项目(没有此库)可以正常工作。我该如何解决这个错误? 我的清单是: 问题答案: 由于您需要将本地文件放在jar旁边,并通过’-Djava.library.path’参数指向它们,因此它无法按照您当前尝试的方式工作。 如果您只想要一
问题内容: 这是我尝试将Maven项目部署到tomcat时遇到的错误 错误: 但是WEB-INF \ lib中有javax.servlet-api-3.0.1.jar 问题答案: 信息:validateJarFile(D:\ Softwares \ tomcat \ apache-tomcat-7.0.50 \ webapps \ myWebApp_1 1 \ WEB-INF \ lib \ ja
问题内容: 我目前正在编写一个程序,需要以jar形式发送给朋友。该程序具有需要加载的图像,以便程序正常运行,我希望所有图像都包含在一个jar中。目前,它无法从可执行jar或通过命令行运行时运行。它可以在netbeans中工作。 这是我正在使用的代码: 要加载我正在使用的图像: 对于我也尝试过的网址 应该在其中创建图像的行是: 我的jar文件设置为在其顶层包含类文件的文件夹和资源文件夹。 我一直在寻