jar运行问题,似乎找不到图片
在eclipse下运行一切正常
但是等输出jar后 显示不出运行窗口,只是一个最小化的frame标题bar
使用的是jdk1.5,也看过网上类似的,但没有找到确切答案。
图片是这样初始化的
tracker = new MediaTracker(this);
fishImages[0] = Toolkit.getDefaultToolkit().getImage( "fish1.gif ");
tracker.addImage(fishImages[0], 0);
fishImages[1] = Toolkit.getDefaultToolkit().getImage( "fish2.gif ");
tracker.addImage(fishImages[1], 0);
aquariumImage = Toolkit.getDefaultToolkit().getImage( "bubbles.gif ");
tracker.addImage(aquariumImage, 0);
try
{
tracker.waitForID(0);
}
catch (Exception ex)
{
System.out.println(ex.getMessage());
}
请教高手是什么原因呢?
------解决方案--------------------在jar包里取得资源的方法,最关键的地方是这样的:
getClass().getResource(String); 这个方法返回一个URL,参数用的是相对路径,相对于当前这个类的在jar包里的路径.
------解决方案--------------------顶!直接用命令行打包!
举个例子:
有个文件夹Spider,里面有一些类(有包或是无包的),还有一张图片,其中主类是Spider6,在主类中使用图片的语句:ImageIcon ico = new ImageIcon( "spider1.gif ");
现在要把这些东西打包,用命令行进行。
1. Spider目录下建立META-INF目录,再在META-INF目录下建立MANIFEST.MF文件,该文件内容如下:
Manifest-Version: 1.0
Main-Class: Spider6
最主要的是指明主类。
2. 打包,命令行到Spider目录下面,执行:
jar cvfm Spider.jar META-INF/MANIFEST.MF .
注意最后有一个点不要少了,表示把当前目录内的东西打包。
3. 楼主好运!^_^!