zoukankan      html  css  js  c++  java
  • 制作JAR

    第一:普通类导出jar包,我说的普通类就是指此类包含main方法,并且没有用到别的jar包。 

    1.在eclipse中选择你要导出的类或者package,右击,选择Export子选项; 

    2.在弹出的对话框中,选择java文件---选择JAR file,单击next; 

    3.在JAR file后面的文本框中选择你要生成的jar包的位置以及名字,注意在Export generated class files and resources和Export java source files and resources前面打上勾,单击next; 

    4.单击两次next按钮,到达JAR Manifest Specification。注意在最底下的Main class后面的文本框中选择你的jar包的入口类。单击Finish,完成。 

    你可以在dos环境下,进入你的jar所在的目录,运行 java -jar 名字.jar,检测运行是否正确。 

    第二、你所要导出的类里边用到了别的jar包。比如说你写的类连接了数据库,用到数据库驱动包oracl.jar.。 

    1.先把你要导出的类按照上面的步骤导出形成jar包,比如叫test.jar 

    2.新建一个文件夹main,比如在D盘根目录下; 

    3.把test.jar和oracl.jar拷贝到main文件下,右击test.jar,解压到当前文件夹。把META-INFMANIFEST.MF剪切到另外一个地方 (比如是桌面!) ; 

    4.右击oracl.jar,解压到当前文件夹。 

    5.在dos环境下,进入到D盘的main文件夹下,执行 jar cvfm new.jar meta-inf/manifest.mf .,不要忘了最后面的点。 

    6.用压缩工具打开你新生成的new.jar,用你放在桌面的META-INFMANIFEST.MF覆盖new.jar原有。 

    你可以在dos环境下,进入你的jar所在的目录,运行 java -jar 名字.jar,检测运行是否正确。 

    具体参数:

    1.在dos下面打包jar文件 
    ————————————————————————————————————————————

    D:jdk1.5.0_07in> jar  /help 
    用法:jar  {ctxu}[vfm0Mi]  [jar-文件]  [manifest-文件]  [-C  目录]  文件名  ... 
    选项: 
    -c  创建新的存档 
    -t  列出存档内容的列表 
    -x  展开存档中的命名的(或所有的〕文件 
    -u  更新已存在的存档 
    -v  生成详细输出到标准输出上 
    -f  指定存档文件名 
    -m  包含来自标明文件的标明信息 
    -0  只存储方式;未用ZIP压缩格式 
    -M  不产生所有项的清单(manifest〕文件 
    -i  为指定的jar文件产生索引信息 
    -C  改变到指定的目录, 
    在命令行中运行刚刚生成的jar,命令如下: 
    java -jar test.jar 
    如果在jar中有一些System.out.prinln语句,运行后想看看打印出的内容,可以用一下命令: 
    java -jar test.jar >log.txt 
    输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和test.jar一个目录中。 
    这里也可以新建一个start.bat文件,创建后;右键---编辑,输入:java -jar test.jar >log.txt;以后直接双击start.bat即可运行test.jar啦。 
    注意,如果你是在文件导出放在如:E盘,则你需要导入得包也要放在这个目录里。 
    如果一个文件名是一个目录,它将被递归处理。 
    清单(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/  . 
    ——————————————————————————————————————————————————

    2.用eclipse打包jar文件。 
    —————————————————————————————————————————————————— 
    Eclipse通过导出的方式(右键单击项目,之后选择Export)打包java类文件生成jar包。

    方法一:(在项目工程没有引用外部jar包时,直接导出) 
    选中工程---->右键,Export...--->Java--->JAR file--->next-->选择jar file的路径及名称-->next-->next---> 选择main class--->finish.


    方法二:
    当工程引用了其他的外部jar时,由于eclipse不支持同时导出外部jar包的功能,所以比较麻烦一点;具体步骤如下:
    生成manifest file:选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next;
    此时来到了方法1中要选择main class的窗口,但这里先不选择main class,选择最上方的Generate the manifest file, 勾上Save the manifest in the workspace,在Manifest file:中输入file的名称,如/testProject/main,(其中testProject为工程名,main为manifest file的名称)点击finish,回到工程,打开刚刚生成的main,在这里要输入如下信息:
    Manifest-Version: 1.0
    Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties
    Class-Path: jxl.jar
    其中,Manifest-Version: 1.0为刚刚自动生成的manifest版本号;
    Main-Class: com.pacong.convert.auto.propertes.ConvertAutoProperties为main class所在类;
    Class-Path: jxl.jar为外部jar包名称,这里是告诉导出的jar包,所要用到的外部的jar包的路径及名称。
    上面都做完了就可以导出带外部jar包的jar包了,步骤如下:
    选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next,这时又来到了选择main class的窗口,但这里也不选择main class,选择Use existing manifest from workspace,在Manifest file:里选择刚刚生成的main,如:/testProject/main,点击finish,到此就大功告成啦;假设生成的jar包的名称为test.jar,那么Class-Path中引入的jxl.jar要和test.jar位于同一个目录下。

    这里还有一点要注意:
    如果想在命令行中运行刚刚生成的jar,命令如下:
    java -jar test.jar
    如果在jar中有一些System.out.prinln语句,运行后想看看打印出的内容,可以用一下命令:
    java -jar test.jar >log.txt
    输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和test.jar一个目录中。

  • 相关阅读:
    CodeForces 706C Hard problem
    CodeForces 706A Beru-taxi
    CodeForces 706B Interesting drink
    CodeForces 706E Working routine
    CodeForces 706D Vasiliy's Multiset
    CodeForces 703B Mishka and trip
    CodeForces 703C Chris and Road
    POJ 1835 宇航员
    HDU 4907 Task schedule
    HDU 4911 Inversion
  • 原文地址:https://www.cnblogs.com/leo3689/p/4944606.html
Copyright © 2011-2022 走看看