• Java jar命令 常见用法


    一、jar命令作用:

     进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包和Winzip的压缩格式是一样的.

     区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹下包含一个Manifest.mf(清单文件)的文件

     通常来说jar命令得到的压缩包有三种(压缩格式完全一样,只是后缀名不同而已):

      A、*.jar - 它里面包含N个class文件。

      B、*.war (web) - 它是一个web应用打包生成的。

      C、*.ear(Enterprise) -它是一个企业应用打包生成的包

    二、jar命令用法:

     -c 创建新的归档文件

     -t 列出归档目录和文件

     -x 解压缩已归档的指定(或所有)文件

     -u 更新现有的归档文件

     -v 在标准输出中生成详细输出 / 提供更详细输出信息

     -f 指定归档文件名 / 为压缩包指定名字

     -m 包含指定清单文件中的清单信息 

     -e 为捆绑到可执行 jar 文件的独立应用程序

    指定应用程序入口点

     -0 仅存储,不压缩,只是打包;不使用任何 ZIP 压缩

     -M 不创建条目的清单文件 META-INF/MANIFEST.MF

     -i 为指定的 jar 文件生成索引信息

     -C 更改为指定的目录并包含其中的文件

    1、创建压缩包

     jar -cf mytest.jar *.class 

     //将当前目录下的*.class文件压缩到上一级目录的mytest.jar文件内

     jar -cvf mytest.jar *.class

    2、创建压缩包,不生成清单文件MANIFEST.MF 大写M

     jar -cMf mytest.jar *.class

    3、查看压缩包

     jar -tf mytest.jar

     jar -tvf mytest.jar

    4、解压

     jar -xf mytest.jar //解压到当前目录

     jar -xvf mytest.jar 解压可看到详细的过程

    5、更新压缩包

     jar -uvf mytest.jar 要加入的指定class文件

    为什么要制作jar包?

     一个真实项目中,涉及到的class文件是非常多的。非常多的class文件存在以下问题:

      a.系统管理不方便;

      b.JVM要分开依次加载不同的*.class文件,效率很低,于是就可以把多个class文件打包成一个jar包,这样好处是:

        ①.多个class文件都统一成一个jar包方便管理;

        ②.JVM可以直接加载jar包就可以一次性加载N个类,效率更高

     打包成可执行性jar包

      通过 -e 选项 告诉系统哪个类是该jar包的主类

      jar -cvfe mytest.jar UserTest *.class(指定的主类)

      如果机器上安装了独立的虚拟机,只要双击“可执行性”的jar包即可执行

      java -jar jar包名    -指定要执行的jar包

    如果不需要生成清单文件MANIFEST.MF,可以直接使用WinRAR或Winzip来压缩(必须压缩成zip格式),解压也可如此

  • 相关阅读:
    c#构造函数对string类型赋初值
    个人计算机管理
    .net Core2建立MVC网站,部署
    运行或开发.NET Core 的先决条件(支持项目、依赖项)
    在Windows下不使用密码远程登陆Linux
    在Linux下不使用密码远程登陆其他Linux
    如何查看MySQL中每张表占用的空间大小
    pdo如何防止 sql注入
    受教了,memcache比较全面点的介绍,受益匪浅,适用memcached的业务场景有哪些?memcached的cache机制是怎样的?在设计应用时,可以通过Memcached缓存那些内容?
    LVS原理详解及部署之二:LVS原理详解(3种工作方式8种调度算法)
  • 原文地址:https://www.cnblogs.com/dtest/p/4180616.html
Copyright © 2020-2023  润新知