Java Jar文件不存在(图像加载相关问题)
我正在为一个学校项目制作加载屏幕。在Netbeans中,代码运行良好,但当我创建可执行jar时,.jar文件不会执行 我认为这个问题与背景图像加载有关,因为当我从我的项目中删除这堆代码时。.jar文件将执行,但当我添加它以加载backgound映像时,.jar文件不会执行。我们将非常感谢您的帮助Java Jar文件不存在(图像加载相关问题),java,image,netbeans,jar,Java,Image,Netbeans,Jar,我正在为一个学校项目制作加载屏幕。在Netbeans中,代码运行良好,但当我创建可执行jar时,.jar文件不会执行 我认为这个问题与背景图像加载有关,因为当我从我的项目中删除这堆代码时。.jar文件将执行,但当我添加它以加载backgound映像时,.jar文件不会执行。我们将非常感谢您的帮助 private void loadBackground(){ try { backgroundImage = ImageIO.read( Load
private void loadBackground(){
try {
backgroundImage = ImageIO.read(
LoadingScreen.class.getResource("../resources/linen.png"));
} catch (IOException ex) {
Logger.getLogger(LoadingScreen.class.getName()).log(Level.SEVERE, null, ex);
}
Background.setIcon(new ImageIcon(backgroundImage));
}
据
在委托之前,将根据
使用此算法的给定资源名称:
如果名称以“/”(“\u002f”)开头,则
资源是名称中“/”后面的部分
否则,,
绝对名称的形式如下:修改的\u包\u名称/名称
其中,修改的包名称是此对象的包名称
用“/”代替“.”(“\u002e”)
。/
没有意义,因为它将解析为资源名称
com/yourclasspackage/../resources/linen.png
我建议您在资源路径中始终使用绝对路径,即以/
开头的路径。就你而言
LoadingScreen.class.getResource("/resources/linen.png"));
假设
/resources/linen.png
位于类路径的根。使用java-jar-yourApp.jar
从命令行启动jar,并查看是否触发任何异常。如果您看到异常,请将它们粘贴到此处,尝试不使用“./”,并确保您的图像存在于目录资源中的jar中。谢谢。通过从背景图像路径中删除“.”解决了此问题。LoadingScreen.class.getResource(“/resources/linen.png”);