Topic: 将java程序打包到jar形式的安装步骤及注意事项

  Print this page

1.将java程序打包到jar形式的安装步骤及注意事项 Copy to clipboard
Posted by: huntery
Posted on: 2006-01-16 22:45

最近单位需要使用java编写个小程序,编写完后想把所有的class和资源文件打包成jar形式,期间碰到一些技巧问题,致使jar文件不能正确运行,解决后发现网上资料虽多,但基本很简单,没有详细的步骤(也可能我没发现),现把自己的心得写出来,希望对大家有所帮助。

前提:程序的包是mypack
主程序为test,相对路径形式为mypack./test(unix)。
程序资源*.gif在images目录下, 相对路径形式为mypack./images。
1.  将mypack下的程序打包。
改变目录到mypack的上一层目录,编辑mypack的清单文件,例如:manifest文件名
Class-Path: 填写程序中使用的包.
Main-Class: mypack.test.
每个条目“:”后要空格。
使用jar cvmf manifest mypack.jar mypack,生成mypack.jar。
因为jar文件使用zip格式压缩,所以可以使用winrar查看mypack.jar,会发现和mypack目录同层多出来一个META-INF目录,打开META-INF目录下的MANIFEST.MF文件,文件内容如果为:
Manifest-Version: 1.0
Class-Path: ......(清单文件的设置)
Created-By: 1.4.2_08 (Sun Microsystems Inc.)
Main-Class: mypack.test

使用java –jar mypack.jar或者在windows平台下,在资源管理器下鼠标双击mypack.jar,程序也可以自动执行。

以上都是在unix平台上对java程序进行打包的步骤。虽然在windows平台上也可以按照以上步骤打包,但是MANIFEST.MF文件的内容始终为
Manifest-Version: 1.0
Created-By: 1.4.2_08 (Sun Microsystems Inc.)
和在unix 下内容不一样,也不能正确运行,运行中会报“Failed to load Main-Class manifest attribute from mypack.jar”。不知为何,如果你知道,请告诉我。

2 .程序资源在程序文件中注意的事项。
在程序中不要写决对路径,写相对路径。
比如:new ImageIcon(getClass().getResource("/mypack/images/test”,”test”));
这样你的漂亮的图像才会在jar文件中正确显示。

2.Re:将java程序打包到jar形式的安装步骤及注意事项 [Re: huntery] Copy to clipboard
Posted by: ranchgirl
Posted on: 2006-01-17 05:38

Read here, it is very much in detail:
http://www2.cs.fit.edu/~ryan/java/language/jar.html

3.Re:将java程序打包到jar形式的安装步骤及注意事项 [Re: huntery] Copy to clipboard
Posted by: Lovebl_He
Posted on: 2006-01-26 08:55

关于这个我补充几点,与大家共享:

  1. 首先,将java程序打包,必须包括其编译产生的所有class文件
  2. 其次,撰写manifest.mf的时候,
    CLASS_PATH: 包的路径和包名,如: ./MYPACK/
  3. 运行JAR命令时,mantifest.mf的路径要写详细。
  4.我是在WINDOWS2000下操作的一切OK,有些心得,故在此抛砖引玉!

4.Re:将java程序打包到jar形式的安装步骤及注意事项 [Re: huntery] Copy to clipboard
Posted by: wkz19820223
Posted on: 2006-02-08 16:26

谢谢分享!Smile

5.Re:将java程序打包到jar形式的安装步骤及注意事项 [Re: huntery] Copy to clipboard
Posted by: bwpc
Posted on: 2006-02-09 09:28

写好mantifest.mf 文件, 然后zip工具直接压缩就行了


   Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent
Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1
客服电话 18559299278    客服信箱 714923@qq.com    客服QQ 714923