jar包中图片的正确显示及第三方jar包的引用








以前打jar包,都很简单,jar -cvf xx.jar *基本就搞定,今天却出了点小问题。程序中要显示图片,而且还要使用MySQL的JDBC Driver类,将mysql-connector-java-5.1.8-bin.jar和需要的图片文件夹pic加入工程中,但图片不能正常显示,并 且数据库连接失败。

先解决图片的问题。图片的显示有两种方式:

JPanel pic = new JPanel();  pic.add(new JLabel(new ImageIcon(ImageIO.read(new File("./pic/xxx.jpg")))));

JLabel pic = new JLabel();  pic.setIcon(new ImageIcon(getClass().getClassLoader().getResource("pic/xxx.jpg")));

区别:打成jar包后,前者必须把图片放在jar包所在目录的pic子目录中才成正确运行;而后者可以把图片打进jar包中的pic目录。所以,想要程序在别的机子上也能运行,使用后者吧。但要注意,后者的相对路径中,不能加"./",即不能采用当前文件夹。

 

 

再解决引用第三方jar包的问题,目前还没找到好的解决方案,只有以下两种办法:

1.在MANIFEST.MF中加上:Class-Path: lib/xxx.jar  ,在程序所在目录中新建lib文件夹,其中放第三方jar包,当然这也只能在本地运行;

2.将第三方jar包中的类copy进自己的jar包,应包括完整的路径,这样就可以脱离平台,在别的机子上也可以运行了。









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值