打jar包

打包的主要两个目的:

一:可以将自己写一些常用的方法写好了,之后打包成jar包。之后把这个包导进去就可以用了,不用重复写。

二:写好了应用程序之后,打包。

1.一个比较方便的包法:在MyEclipse中,把自己做好的功能打成jar包。

前面说了打包的两个目的,所以,用这种打包时,要注意的一点是要打成什么样的包:

对于目的一:方式是  工程上点右键export-->java-->jar file即可

 

而如果是要打成可以运行的应该程序包,那要就要在包里加入运行的主程序切入口,即main主函数,安装文件会将 .jar 文件映射给 javaw.exe 打开。

这种方法是:

工程上点右键export-->java-->Runnable jar file-->Launch configuration 里选个 Main函数-->Export destination 里选择一个要导出的位置-->Library handing 里选择 Extract rquired libraries into generated jar 这样可以把导久的jar 包一起打到同一个包里  -->finish 完成打包。

 

2、手动用jvm 打包

这种方法要注意的是:里面要包含一个文件 MANIFEST.MF,这个文件描述了该Jar文件的很多信息

主要要用:

Manifest-Version: 1.0

    用来定义manifest文件的版本

Class-Path

    应用程序或者类装载器使用该值来构建内部的类搜索路径

Main-Class

  定义jar文件的入口类,该类必须是一个可执行的类,一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件。

 

例如我的MANIFEST.MF文件:

Manifest-Version: 1.0
Created-By: 1.5.0_08 (Sun Microsystems Inc.)
Main-Class: com.test.jfram.Main
Class-Path: lib/jxl.jar lib/poi.jar

注意每个:号之后有一个空格

 

最后把这个文件同那些要打包的jar文档,  .class文件放在同一个 test 文件夹里就可以了。

 

打包的命令:

1) jar cf test.jar test
  该命令没有执行过程的显示,执行结果是在当前目录生成了 test.jar 文件。如果当前目录已经存在 test.jar,那么该文件将被覆盖。
  2) jar cvf test.jar test
  该命令与上例中的结果相同,但是由于 v 参数的作用,显示出了打包过程,如下:
  标明清单(manifest)
  增加:test/(读入= 0) (写出= 0)(存储了 0%)
  增加:test/Test.class(读入= 7) (写出= 6)(压缩了 14%)

你可能感兴趣的:(java,jvm,MyEclipse,jar,文档,sun)