您的位置:首页 > 编程语言 > Java开发

JAVA课程设计-打包图片路径-FatJar打包-结题

2017-02-28 21:38 309 查看

 2016年12月29日问题一:完成所有功能后,通过原生Export打包,会出现图片不显示的问题。其原因是在导出jar包后代码的方法会以当前路径为基准搜索图片。所以就会出现相对路径下的图片不能正确显示的问题


 用原生的Export导出后,形成这样一个jar包

里面的图片以及组件全部消失
其实问题在于:读取图片的方法 protected void paintComponent(Graphics arg0) { Image bgImg = null; try { bgImg = ImageIO.read(new File("src/img/back.png"));   } catch (IOException e) { e.printStackTrace(); } arg0.drawImage(bgImg, 0, 0, null); } };这样子读取的话,就会读取到当前jar包所在的路径+地址比如我放在桌面,那么jar包读取的路径就是:C:\Users\lenovo\Desktop\src\img\back.png但是在这个路径下是不存在这个图片的而真实路径是jar包下的src/img/back.png或者是在原生目录下;所以会出现图片读取不成功的后果
解决方法有两个:1.JAVA为了解决这个问题,提供了另一个读取路径的方法Java本身以类为基准的路径搜索方式。    *以下代码采用了以当前类为基准的路径指定方式。下面这行代码在运行时,会  
  *在jar文件中的根路径,搜索程序中用到的文件。  
Reader reader =new InputStreamReader(  
  getClass().getResourceAsStream("/image/Environment.ini"));  
ImageIcon i=new ImageIcon(getClass().getResource("/image/b1.gif")); 
来源:http://www.cnblogs.com/fm168/p/3676593.html
2.将jar包放在原生路径下

因为读取的路径是:src\img\back.png所以将jar放在CourseDesign下,就可以读取到图片


由于第二天就要答辩,所以并没有去改动代码内的方法而是采用了改变路径的方法使得图片能够正常显示。问题二:Export之后,连接不上数据库问题描述:在上述步骤之后,发现无法连接到数据库,在Eclipse里面运行正常以WINRAR方法打开jar包之后,发现连接mysql的jar消失了;

经过查阅,发现原生的Export导出功能不够强大导致了第三方jar包无法导出的问题;经过查阅资料,发现需要安装一个插件【fatjar】才能将第三方jar包一起打包导出;安装这个插件有两个方法安装方法:1. eclipse在线更新方法:help >software updates >Search for new features to install>new update site>填写name 和url name:Fat Jarurl: http://kurucz-grafika.de/fatjar,这个是FatJarUpdateSite.2. eclipse插件安装方法:下载,地址在http://downloads.sourceforge.NET/fjep/net.sf.fjep.fatjar_0.0.27.zip?modtime=1195824818&big_mirror=0,解压后将解压出的plugins中的文件复制到eclipse中的plugins目录下,然后重启eclipse,避免Fat Jar被认不出来,在eclipse启动时使用-clean参数。参考:http://blog.csdn.net/zpp119/article/details/7978536
但是安装了官网的fatjar后发现4.5版本的Eclipse无法加载
经过多方查询之后才发现,原来4.5以上的eclipse需要安装的是3.2版本的fatjar
于是经过多方查询之后 http://download.csdn.net/detail/u014175572/8772997 找到上述这个免费的3.2连接
下载回来之后,成功导出带第三方jar包的jar
导出教程如下:
项目右键-Build Fat Jar





按NEXT


选择finish完成导出再把这个jar包放到原生路径下,那么所有功能就齐全了。   
  
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: