Java打包成jar

来源:互联网 发布:淘宝秒杀代码 编辑:程序博客网 时间:2024/04/29 22:58
若要生成一个名为 cal.jar 的可执行jar文件:(文件名可以是任意合法名字) 
(这是我认为简单实用的一种方法,还有很多别的方法在此就不介绍了) 
第一 把程序生成的所有字节码文件(即.class文件)放在同一个目录下(如:D:/chat/). 
第二 在该目录下新建一个manifest.mf文件,文件内容格式如下(划线中内容): 
manifest.mf文件中的格式: 


-------------------------------- 
Main-Class: calDemo
-------------------------------- 


注意: calDemo代表主类名(即要运行的类名,只能有一个,不要文件扩展名) 
Main与Class中间不是下划线,而是短横线 
Main-Class:与calDemo中间必须要有空格 
Main-Class: calDemo之后必须要回车


文件中还可以加入一些其他信息如:(先不要加,以免出错)
-------------------------------------------- 
Manifest-Version: 1.0 
Created-By: 1.4.1_02 (Sun Microsystems Inc.) 
--------------------------------------------


然后用jar命令生成可执行的jar文件,例如: 
(执行该命令前先要转到该目录下 D:/chat/ ) 
jar cvfm cal.jar manifest.mf *.class


jar用法:(仅供参考,初学者可跳过这部分内容) 
jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 
选项: 
-c 创建新的存档 
-t 列出存档内容的列表 
-x 展开存档中的命名的(或所有的〕文件 
-u 更新已存在的存档 
-v 生成详细输出到标准输出上 
-f 指定存档文件名 
-m 包含来自标明文件的标明信息 
-0 只存储方式;未用ZIP压缩格式 
-M 不产生所有项的清单(manifest〕文件 
-i 为指定的jar文件产生索引信息 
-C 改变到指定的目录,并且包含下列文件: 
如果一个文件名是一个目录,它将被递归处理。 
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
 
jar cvf classes.jar Foo.class Bar.class 




示例2:用一个存在的清单(manifest)文件 'mymanifest' 将 foo/ 目录下的所有 
文件存档到一个名为 'classes.jar' 的存档文件中: 


jar cvfm classes.jar mymanifest -C foo/ .
 
 
 
 
eclipse有相关操作 
------------------------------------------------------------------------
1,右击Eclipse项目,点击Export。


2,选中java-jar文件。


3,选中要发布为jar文件的项目。
1)选中源文件夹,库文件夹,配置文件文件夹。
2)不要选中Eclipse项目的文件和其他不需要的文件。
3)选中:Export all output folders for checked projects
输出所有选中的文件夹。
4)选中:Export java source files and resources
如果是源文件夹,就会输出生成的.class文件。
5)选中:压缩Jar文件的内容。
6)选中:不警告就覆盖已存在的文件
7)选择一个输出jar文件的目的地。


4,使用已存在的manifest文件。


5,MANIFEST.MF  文件如下:
Manifest-Version: 1.0
Main-Class: Test
Class-Path: lib/OXmlEd1.11-nolib-bin.jar lib/dom4j-1.6.1.jar lib/commons-logging-1.0.4.jar lib/log4j-1.2.8.jar
 
    如果让Eclipse为我们生成,不会生成Class-Path部分的描述。所以,我们需要再加上Class-Path描述!
 
6,现在,制作完成的jar文件就是可执行的。
我们在命令行中执行java –jar AAA.jar 就可以看到该程序被成功执行了。
javaw –jar AAA.jar  也可以执行该jar包。
   
使用java.exe将会出现命令行窗口。
使用javaw.exe执行,不会出现命令行窗口,所有System.out.print这样的输出都是看不到的。
 
 
7,如果你安装了JRE,你的jar文件应该关联在javaw –jar上。
如果你的jar文件没有关联javaw –jar了,可以通过以下方法重新关联。
1)在资源窗口—工具—文件夹选项—文件类型中,新建jar的关联。
2)创建一个.bat文件,其中的命令是:javaw -jar %1  或者java -jar %1
3)把.jar文件关联到上面这样的.bat文件中。
这样,你双击.jar文件时,就会立刻执行该java程序。
 
%1 表示第一个参数,也就是你点击的jar文件的文件全名。
 
8,你也可以为每一个可执行的jar文件创建一个.bat文件,其中的命令是javaw -jar AAA.jar 或者java –jar AAA.jar等文件。
    这样,无需关联jar文件,就可以执行jar文件。
0 0