zoukankan      html  css  js  c++  java
  • java生成可执行jar

    java生成可执行jar 非常简单

    使用myeclipse直接export-->jar导出 选择main方法的类就ok

    但是如果jar引用了其他的jar 必须在Manifest文件中引入jar

    例如:

    Manifest-Version: 1.0
    Main-Class: Main
    Class-Path: axis/activation.jar axis/axis.jar axis/axis-ant.jar axis/commons-discovery-0.2.jar
     axis/commons-logging-1.0.4.jar axis/commons-logging-1.1.jar axis/commons-logging-api-1.1.jar
     axis/jaxrpc.jar axis/log4j-1.2.8.jar axis/mail.jar aixs/saaj.jar axis/serializer-2.7.1.jar
     aixs/wsdl4j-1.5.1.jar axis/xalan-2.7.1.jar aixs/xercesImpl-2.9.1.jar
     axis/xercesImpl.jar aixs/xercesSamples.jar axis/xml-apis-1.3.03.jar
     aixs/xml-apis.jar axis/xmlParserAPIs.jar axis/xmlsec-1.4.4.jar
     axis/xmlsecSamples-1.4.4.jar axis/xmlsecTests-1.4.4.jar axis/quartz-all-1.7.3.jar

    jar包太多全部放在一行 会导致错误

    必须换行 换行的行 开头和结尾必须要有一个空格

     axis/commons-logging-1.0.4.jar 的意思是 必须在可执行jar 同一目录下的axis子目录下的commons-logging-1.0.4.jar

    或者使用jdk自带的jar命令 jre是没有jar.exe  如果是使用jre 那就从jdk中拷贝一个jar.exe到bin目录 同时复制一份 bin下面的server目录 修改为

    client 就行了 在cmd命令中键入 jar /?出现jar的帮助

    可以先整理出一份目录 比如是c:\yjj下面是所有的类结构文件 即包结构和报下面的类  同时建一个 Manifest.mf文件

    比如内容是 :

    Manifest-Version: 1.0
    Main-Class: Main

    引入jar参考上面

    利用cmd命令 进入该目录 cd  c:/yjj

    比如jdk在E:\java\jre\bin\目录下

    使用命令 E:\java\jre\bin\jar cvfm yjj.jar manifest.mf -c ./

    ./ 表示打包当前目录下的所有文件 如果你不到yjj目录下而是到c盘的话 把./改成 c:/yjj jar包中多了一个yjj目录

    所以必须到要打包的目录中才能执行这个命令

    执行的话 cmd命令下 java -jar 可执行.jar

    如果jar包数量太多 觉得Class-Path太多 可以使用-Djava.ext.dirs 参数 jdk6+可用

    例如

    java -Djava.ext.dirs=引用的lib库的路径;可执行jar的路径 -jar 可执行jar路径\可执行jar名称.jar
    java -Djava.ext.dirs=E:\workspace\posgui\lib;E:\workspace\posgui -jar E:\workspace\posgui\pos.jar

    如果可执行jar的路径 不放在里面 会导致主方法 找不到可执行jar中所有其他引用的类

    即使使用-cp和-classpath都不行

    例如 主方法是在com.auto.frame.AutoFrame中 在main中引用了ABC类 ABC类也在pos。jar中

    使用如下方式都会失败

    1。java -Djava.ext.dirs=E:\workspace\posgui\lib -jar E:\workspace\posgui\pos.jar
    2.    java -Djava.ext.dirs=E:\workspace\posgui\lib -jar -classpath E:\workspace\posgui  E:\workspace\posgui\pos.jar

    3.    java -Djava.ext.dirs=E:\workspace\posgui\lib -jar -cp E:\workspace\posgui  E:\workspace\posgui\pos.jar

    pos.jar的manifest.mf文件只需要 主方法即可例如

    Manifest-Version: 1.0
    Main-Class: com.auto.frame.AutoFrame

  • 相关阅读:
    Loved
    什么是REST
    统一资源定位符URL(Uniform Resource Locator)
    HTTP工作原理
    系统程序员成长计划内存管理(一)
    系统程序员成长计划工程管理(四)
    系统程序员成长计划-内存管理(四)
    HTTP请求报文格式
    系统程序员成长计划内存管理(二)
    系统程序员成长计划-内存管理(三)
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331484.html
Copyright © 2011-2022 走看看