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

我是用这种方式,但是打包就读取不到了StringimagePath="";imagePath=System.getProperty("user.dir")+"/bin/c... 我是用这种方式,但是打包就读取不到了
String imagePath = "";
imagePath = System.getProperty("user.dir") + "/bin/com/zds/lanrenju/img/ServerImg/earth.png";
SysteTray = ImageIO.read(new File(imagePath.replaceAll("\\\\", "/")));
展开
 我来答
ss4satan
推荐于2016-06-27
知道答主
回答量:8
采纳率:0%
帮助的人:8.9万
展开全部
一、通过使用外部资源文件的方式解决
把项目打包生成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中第一个参数代表图片文件路径的参照对象,不能少,否则不能正确获得图片资源。

最后,朋友们一定要注意大小写的问题,在项目中文件名的大小写没有影响,但是打包后,就必须注意文件名大小写问题了,否则也是不行的。
事前要谨慎
2012-07-27 · 超过27用户采纳过TA的回答
知道答主
回答量:158
采纳率:66%
帮助的人:55.8万
展开全部
你把图片单独拿出来和你项目打包的jar放到同一个 文件目录下就行,主题原因是路径问题 编译后根据相对路径会去同一目录下找
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友e4784046f
2012-07-27 · 超过14用户采纳过TA的回答
知道答主
回答量:63
采纳率:50%
帮助的人:18.6万
展开全部
你的目录要写成相对路径,如果包含bin那么运行的时候肯定找不到文件的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式