明显感觉Sun在Java语言编写的桌面应用程序的打包发布这方面没有微软做的好,比如微软近几年推出的C#在程序的打包发布做到了傻瓜式的操作一步到位的做成exe文件,而且也不会遇到种种繁琐的问题!
其实,究根结底还是java程序的各种配置和路径问题所导致,而微软则是依仗其操作系统的天然优势一步到位将c#程序打包成PE文件,哎!
好了,发完牢骚了再说说在Eclipse中如果导出的jar包运行时发现图片等资源文件丢失了怎么办!我这儿所说的是J2SE程序,起因是程序中用到了些图片文件,在Eclipse中运行的时候一切正常,可是当成jar包导出的时候却发现图片没法显示,后来几经尝试终于解决了问题,但是感觉自己的方法不是最优的,欢迎网友提出更好的想法!
个人使用的是Eclipse3.3版本的IDE,直接建立个Java Project后,会自动生成一个Src文件夹和一些路径配置(路径配置是不会显示在Package Explore中的,而是会显示Jre的系统库的一些库包)。
最初我是建立了和Src文件夹同级的目录,也就是res文件夹以存放资源文件,在res中放了些图片文件。然后在需要用到图片的地方的程序时如下写的:
ImageIcon icon = new ImageIcon("res/system.gif");
在Eclipse中可以正常的显示,可是当我打成jar包时候发现res文件夹根本没有打入jar包中,很是囧!于是换个思路,直接在src中建个res文件夹,然后将图片资源转入其中,呵呵,程序改如下:
java.net.URL
imageUrl=trayFrame.class.getResource("../images/system.gif");
ImageIcon icon = new ImageIcon(imageUrl);
这样在Eclipse里面图片是加载正常的,打包的时候res文件夹也被顺利的导入到jar包中,当双击运行的时候发现图片还是加载不正常,郁闷啊!我怒,好了,只好将res文件直接删掉,直接将图片放到用到图片的java文件的同级目录下,这样程序如下写:
ImageIcon icon = new ImageIcon("system.gif");
再次打成jar包,发现竟然可以了,很是怪异的事情!后来自己揣测了下,估计是在J2SE是通过绝对路径去查找资源文件而不是这儿的通过相对路径查找(除非是在同级目录下面)!不知道自己的想法对不对,还望大家说说自己的想法....
eclipse swt 打包 无法显示图片
最新推荐文章于 2023-04-05 20:45:16 发布