java项目打包成jar不能访问图片问题

2024-11-05 17:18:16
推荐回答(3个)
回答(1):

一、通过使用外部资源文件的方式解决
把项目打包生成Jar后,再新建一文件夹,把项目中所有使用的图片文件和生成Jar文件放在该目录下,只要代码对图片文件的引用路径正确,如:ImageIcon image=new ImageIcon(SwingResourceManager.getImage("imagefilePath"));就可以了。
这种方式下,图片文件与类文件不是一块放在包中的,类文件在包中,而图片文件在项目根目录下。
二、通过使用内部资源文件的方式解决
把所用的图片文件放在项目使用的包中,打包时把图片文件同时打进Jar文件中。这种方式在具体代码中应使用下面其中一种:
1.ImageIcon image = new ImageIcon(this.getClass().getResource("imagefilePath"));
2.ImageIcon image = new ImageIcon(main.class.getResource("imagefilePath"));
3.ImageIcon = SwingResourceManager.getImage(main.class,"imagefilePath");
4.3.ImageIcon = SwingResourceManager.getImage(this.getClass(),"imagefilePath");
3和4中第一个参数代表图片文件路径的参照对象,不能少,否则不能正确获得图片资源。

最后,朋友们一定要注意大小写的问题,在项目中文件名的大小写没有影响,但是打包后,就必须注意文件名大小写问题了,否则也是不行的。

回答(2):

你把图片单独拿出来和你项目打包的jar放到同一个 文件目录下就行,主题原因是路径问题 编译后根据相对路径会去同一目录下找

回答(3):

你的目录要写成相对路径,如果包含bin那么运行的时候肯定找不到文件的。