Java打成可执行jar过程中需要注意的一些问题

来源:互联网 发布:手机网络哪家好 编辑:程序博客网 时间:2024/06/04 21:16

1.通过Eclipse打成jar,其中引用的图片,文件等资源必须用相对路径,不能使用系统路径。

//ICON:注意,打成jar包之后访问资源必须在src目录下,并且只能使用以下这种方式访问。
java.net.URL imgURL = MainUI.class.getResource("/resource/img/calculator.png");
Image imageIcon = Toolkit.getDefaultToolkit().getImage(imgURL);


//要打成jar包必须使用ClassPath不能使用系统路径,因为打成jar后资源路径无法识别。
 //this.getClass().getResourceAsStream:path 不以’/'开头时默认是从此类所在的包下取资源(当前目录),以’/'开头则是从ClassPath根下获取。
 //InputStream stream = this.getClass().getResourceAsStream("resource/soundFile/GodLike.mp3");
//this.getClass().getClassLoader().getResourceAsStream:默认则是从ClassPath根下获取(src目录),path不能以’/'开头,最终是由ClassLoader获取资源。

2.引用其他jar时,不能一起打进jar中,必须外部引用。放在同一目录下,如:

---my.jar

---lib---log4j.jar

使用Eclipse,右键选中项目,Export--






注意:lib是手动从项目中复制出来的。



注意:把这个文件拖出来,修改:

Manifest-Version: 1.0 
Class-Path: lib/jl1.0.1.jar lib/mp3spi1.9.5.jar lib/tritonus_share.jar lib/log4j-1.2.14.jar 
Main-Class: com.cup.ui.MainUI 

后面必须严格加一个空格。具体可以搜索MANIFEST.MF,这个文件的格式没有具体研究,网上都有说明。但是遇到一个奇怪的现象,打包好后,可以运行,拷贝到另外一台电脑上之后,报异常,找不到MainUI,看的报错后面逗号有一个空格,去掉之后就可以了。

修改好以后,再用winRAR管理器模式打开,将此文件拖进去覆盖。


这种方式当然不是很好,但是从官方的文档看来,这个算是最优了。


0 0
原创粉丝点击