一、如何把.class文件生存jar包?
通常的做法是在Eclipse里面直接将项目导出为编译好后的jar包等,例如File→Export→JAR(Runable)即可。但是某些个场景,只修改了单个的class文件等需要放到另外的环境中去测试等,这里介绍另外一种方法是在windows里面的dos里面直接将class文件打包成可执行的jar包,具体就是进入dos操作窗口,cd进入到需要打包的class文件夹里面:jar cvf [生成jar的名称.jar] [列出class文件] 。
1.0、操作零散的单个或几个class文件
首先在D:\javatemp\classdemo文件夹里面有Hello.class,cmd进入到该目录下执行如下语句
回车后执行得到对应的Hello.jar的jar文件:
2.0、把一个文件夹下面的所有class文件打成jar包
3.0、生存可执行的jar文件(main入口函数)
编译的class文件中必须有main入口函数的类方能生成可执行jar包。例如pulic static void main(String[] args){}
生存的步骤方法如下
3.1、用上面的方法把class与相应的结构目录打成jar包
3.2、解压这个jar包到当前目录
3.3、编辑META-INF/MANIFEST.MF,给jar包指定程序入口main函数,内容为
Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)
Main-Class: Hello
3.4、再用winzip把这些文件压缩成jar格式包,或者压成zip包,再改后缀名为jar也可(看来这种方法很不给力啊)
另外一种生存的方法(推荐)
3.5、cmd操作窗体中进入class文件的根目录,之所以说根目录,是因为下面其下面还可以有很多文件包(夹);
3.6、在此目录准备好一个manifest.mf文件,其内容为
Manifest-Version: 1.0
Created-By: 1.5.0_06 (Sun Microsystems Inc.)
Main-Class: Hello
3.7、最后用命令: jar cvfm hello.jar manifest.mf *
4.0、测试可执行jar包.用命令:java -jar Hello.jar
5.0、jar选项基本参数定义
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用ZIP压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
PS:如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。