zoukankan      html  css  js  c++  java
  • 如何打jar包 学习笔记

    jar包是由.class文件压缩而成。要查看jar包中的内容,使用压缩工具 解压缩即可。也可以做修改,并重新打成jar包。总结一下最近学到的一些打jar包的方法:

    一、DOS下使用jar命令 打jar包

      (1)在DOS下输入命令:">jar",可以查看它的用法,如下图:

      

      (2)以下是一些常用例子,例子中所用文件目录结构如图:

      

      示例1:将1.class和2.class打包到test.jar中,方法:

      

      结果:jar-example下会新增test.jar,jar包目录结构如下:

      test

       |----META-INF

            |----MANIFESAT.MF

       |----1.class

       |----2.class

      示例2:将hr文件夹下的所有文件打到test3.jar中,方法:

      

      结果:jar-example下会新增test3.jar,jar包目录结构如下:

      test3

       |----META-INF

            |----MANIFESAT.MF

       |----hr

          |----......(省略)

      示例3:把test4和test5文件夹都打到test4-5.jar中,方法:

      

      结果:jar-example下会新增test4-5.jar,jar包目录结构如下:

      test4-5

       |----META-INF

            |----MANIFESAT.MF

       |----test4

          |----......(省略)

       |----test4

          |----......(省略)

      示例4:把jar-example下所有文件(!)都打入test6.jar,

      打包之前的文件结构如图:

      

      打包方法(在jar-example目录下执行操作):

      

      打包后的文件结构:

      

      结果:jar包的目录如下:

      test6

       |----META-INF

            |----MANIFESAT.MF

       |----test4

          |----......(省略)

       |----test5

          |----......(省略)

       |----1.class

       |----2.class

      示例5:把test8文件夹及内容打到test8.jar中,不生成MANIFESAT.MF文件,方法:

      F:jar-example>jar cvfM test8.jar test

      结果:jar包的目录如下:

      test8

         |----test8

      示例6:使用现有的清单文件"mymanifest.mf",并把test中的文件打到test.jar中。此时在操作目录下,要有"mymanifest.mf"文件,方法:

      F:jar-example>jar cvfm test.jar mymanifest.mf test

      此时生成的文件目录和示例2一样,只是jar包中MANIFEST.MF文件的内容是mymanifest.mf中的内容。

      示例7:在原有的test7.jar中增加文件,如mymainfest.mf,方法:

      

      结果如下图(jar包中的结构):

      

      如果使用 -m 参数并指定 manifest.mf 文件,那么 manifest.mf 是作为清单文件 MANIFEST.MF 来使用的,它的内容会被添加到 MANIFEST.MF 中;但是,此时作为一般文件添加到 JAR 文件包中,它跟一般文件无异。

    二、使用压缩工具 打jar包

    所学知识有限,以后用到新的地方再补充。

    三、

    可执行jar包,和jar包的其他一些知识,参考http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=137481写的很好。

    四、编译java文件→class文件

    常常会用到修改jar包中的某个文件。首先,将其反编译(或者找到.java源文件)修改后,编译,再打入jar包。通常用javac命令编译,这里附带一下javac命令的常用方法:http://www.softown.cn/post/120.html

    javac编译时jdk版本很重要,如果不一致,程序运行时会报错。

    -----------------------------------------------------更新

    问题:今天破解myeclipse时,双击执行run.bat,闪退后并没有出现破解窗口。

    解决过程:用文本编辑器打开run.bat,内容只有一行:javaw -jar cracker.jar。所以就试着把crack.jar的打开方式的程序选成jdk的bin目录下的javaw.exe,试着打开但是报错了。后来同事说使用的JDK版本的问题,如果电脑的JDK版本和jar包所用的版本不同,就打不开。我电脑上为了运行一个比较老的项目,安装的JDK5。

    解决方法:安装JDK6,再运行就好了。

    知识点:jar包是编译后的Java文件,也就是class文件打成的压缩包。打开jar包的小程序也需要Java环境,也就需要符合的JDK版本。现在的jar包至少也是用JDK6了吧,所以我电脑上的JDK5环境打不开也解释的通。

  • 相关阅读:
    migration的报错
    路由与认证
    drf-请求与响应
    django-rest-framework
    Vue -- 基础
    Django -- Auth模块
    Django -- 中间件
    Django -- cookie与session
    Django--ajax
    Django -- 视图层
  • 原文地址:https://www.cnblogs.com/mySummer/p/3959821.html
Copyright © 2011-2022 走看看