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

来源:互联网 发布:淘宝店铺分数怎么会 编辑:程序博客网 时间:2024/06/05 07:07
JAVA课程设计-结题 - TanzJ - TanzJ
 
2016年12月29日
问题一:完成所有功能后,通过原生Export打包,会出现图片不显示的问题。其原因是在导出jar包后
代码的方法会以当前路径为基准搜索图片。所以就会出现相对路径下的图片不能正确显示的问题
JAVA课程设计-打包图片路径-FatJar打包-结题 - TanzJ - TanzJ

 用原生的Export导出后,形成这样一个jar包
JAVA课程设计-打包图片路径-FatJar打包-结题 - TanzJ - TanzJ
里面的图片以及组件全部消失

其实问题在于:读取图片的方法
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包放在原生路径下
JAVA课程设计-打包图片路径-FatJar打包-结题 - TanzJ - TanzJ
因为读取的路径是:src\img\back.png
所以将jar放在CourseDesign下,就可以读取到图片
JAVA课程设计-打包图片路径-FatJar打包-结题 - TanzJ - TanzJ

由于第二天就要答辩,所以并没有去改动代码内的方法
而是采用了改变路径的方法使得图片能够正常显示。

问题二:Export之后,连接不上数据库
问题描述:
在上述步骤之后,发现无法连接到数据库,在Eclipse里面运行正常
以WINRAR方法打开jar包之后,发现连接mysql的jar消失了;
JAVA课程设计-打包图片路径-FatJar打包-结题 - TanzJ - TanzJ
经过查阅,发现原生的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

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

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

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

选择finish
完成导出
再把这个jar包放到原生路径下,那么所有功能就齐全了。
 
 

 

 
 
 
0 0
原创粉丝点击