zoukankan      html  css  js  c++  java
  • Java打包成jar

    若要生成一个名为 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文件。
  • 相关阅读:
    POJ 1328 Radar Installation
    POJ 1700 Crossing River
    POJ 1700 Crossing River
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3069 Saruman's Army(贪心)
    poj 3069 Saruman's Army(贪心)
    Redis 笔记与总结2 String 类型和 Hash 类型
    数据分析方法有哪些_数据分析方法
    数据分析方法有哪些_数据分析方法
  • 原文地址:https://www.cnblogs.com/pekkle/p/6568814.html
Copyright © 2011-2022 走看看