1,      使用JAR文件
   jar文件的全称是Java Archive File,意思就是Java档案文件,通常jar文件是一种压缩文件,与常见的ZIP压缩文件兼容,通常也被称为jar包,jar 文件与zip文件的区别就是在jar文件中默认包含了一个名为META-inf/manifest.的清单文件,这个清单文件是在生成jar文件时由系统自动创建的。
    当开发一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包成一个jar文件,把这个jar 文件提供给别人使用。只要别人在系统的CLASSPATH环境变量中添加这个jar文件,则Java虚拟机就可以自动在内存中解压这个jar包,把这个jar文件当成一个路径,在这个路径中查找需要的类或包层次对应的路径结构。
2.           jar包的优点:安全,加快加载速度,压缩,包封装,可移植。
3.                a:创建jar文件命令:jar cf test.jar  test     jar cf jar包名称.jar 要压缩到jar包中的类名。
  b:创建jar文件,并显示压缩过程,jar cvf test.jar test
  c:不使用清单文件: jar cvfM test.jar test
d: 自定义清单文件内容: jar cvfm testjar manifest.mf test
运行结果与第2个命令相似,显示信息也相同,其中M选项指定读取用户清单文件信息。因此在生成的jar包中清单文件meta-inf/manifest.mf的内容有所不同,它会在原有清单文件基础上增加manifest.me文件的内容。
e:查看jar包内容, jar tf test.jar
  当jar包中的文件路径和文件非常多时,直接执行该命令将无法看到包的全部内容,此时可利用重定向将显示结果保存到文件中如:jar tf test.jar >a.txt 执行本命令看不到任何输出,但命令执行结束后,将在当前路径下生成一个a.txt文件,该文件中保存了test.jar包里文件的详细信息。
f:查看jar包详细信息:jar tvf test.jar
   该命令与第5个命令基本相似,但它更详细,
g:解压缩: jar xf test
将 test.jar 文件解压缩到当前目录下,不显示任何信息。
h:带提示信息解压缩:jar xvf test.jar
解压缩效果与第7个相同,但系统会显示解压过程的详细信息
h:更新jar文件:jar uf test.jar hello.class
 更新test.jar中的Hello.class 文件。如果test.jar中已有Hello.class文件,则使用新的Hello.class文件替换原来的Hello.class文件;如果test.jar中没有Hello.class文件,则把新的Hello.class文件添加到test.jar文件中。
i:更新时显示详细信息:jar uvf test.jar Hello.class

JAR包的更多相关文章

  1. spring各jar包作用(转载)

     除了spring.jar文件,Spring还包括有其它13个独立的jar包,各自包含着对应的Spring组件,用户可以根据自己的需要来选择组合自己的jar包,而不必引入整个spring.jar的所有 ...

  2. Maven中安装本地Jar包到仓库中或将本地jar包上传

    摘要 maven install 本地jar 命令格式 mvn install:install-file -DgroupId=<group_name> -DartifactId=<a ...

  3. 不显示cmd窗口运行jar包

    今天,打开导出的jar包,发现并不能运行,查看jar包中的META-INF文件夹下的MANIFEST.MF文件,发现MANIFEST.MF中并没有Main-Class,于是,就手动添加相应的信息,本项 ...

  4. 由提交storm项目jar包引发对jar的原理的探索

    序:在开发storm项目时,提交项目jar包当把依赖的第三方jar包都打进去提交storm集群启动时报了发现多个同名的文件错误由此开始了一段对jar包的深刻理解之路. java.lang.Runtim ...

  5. 第三方开源库和jar包的区别

    jar包和第三方开源库的根本区别在于,开源库的功能比jar包功能更强大,通过引入库项目可以访问java文件以及该开源库项目下的资源文件,例如图片,layout等文件 jar包中只能放class文件 引 ...

  6. 在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service

    在 CentOS7 上将自定义的 jar 包注册为 linux 服务 service 1.在 /etc/rc.d/init.d/ 目录下创建一个名字和服务名完全相同的 shell 脚本文件 joyup ...

  7. java 执行 jar 包中的 main 方法

    java 执行 jar 包中的 main 方法 通过 OneJar 或 Maven 打包后 jar 文件,用命令: java -jar ****.jar执行后总是运行指定的主方法,如果 jar 中有多 ...

  8. maven 打包含有第三方依赖的 jar 包

    maven 打包含有第三方依赖的 jar 包:mvn assembly:assembly

  9. 使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)

    从网上看过许多打jar包的例子,大多是将配置文件打进jar包的.经过本人一番研究,终于搞清楚了怎样将jar包的配置文件外置. 废话不说,直接上spring的pom.xml的配置文件. <proj ...

  10. struts2中各个jar包作用

    Struts2.3.4 所需的Jar包及介绍 Jar包的分类 jar包名称 jar包版本 jar包 文件名 jar包 的作用 jar包内包含的主要包路径及主要类 依赖的自有jar包名称 依赖的第三方j ...

随机推荐

  1. JavaScript的jsonp

    目录索引: 一.AJAX的概念二.POST && GET三.原生实现AJAX简单示例 3.1 实现代码 3.2 重点说明四.框架隐藏域 4.1 基本概念 4.2 后台写入脚本 4.3 ...

  2. AP_应付税务预扣税Withholding Tax的设定和使用(案例)

    2014-07-13 Created By BaoXinjian

  3. PLSQL_Oracle Table Lock表级锁的处理(案例)

    20150506 Created By BaoXinjian

  4. 0814JavaScript简介、基本语法、运算符、转换

    一.JavaScript简介 1.JavaScript是个什么东西? 它是个脚本语言,需要有宿主文件,它的宿主文件是HTML文件. 2.它与Java什么关系? 没有什么直接的联系,Java是Sun公司 ...

  5. 转--Invalidate和postInvalidate的更新view区别

    Android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用. Android提供了Inva ...

  6. Memcache 问题集锦

    Memcached 集群架构方面的问题 这里收集了经常被问到的关于memcached的问题 memcached是怎么工作的? memcached最大的优势是什么? memcached和MySQL的qu ...

  7. systick优先级的理解

    sysTick系统嘀嗒定时器并非STM32独有的,它是Cortex内核的部分,CM3为它专门开出一个异常类型,并且在中断向量表中占有一席之地(异常号15).这样它可以很方便的移植到不同厂商出CM3内核 ...

  8. ndk android studio万年坑

    先说javah万年坑 javah语法: Usage: javah [options] <classes> where [options] include: -o <file>  ...

  9. 标准化命名CSS类,持续更新

    放链接.持续化更新,以后可能会用上.https://github.com/zhangxinxu/zxx.lib.css/blob/master/zxx.lib.css

  10. [Flex] PopUpButton系列 —— 将DataGrid作为弹出内容

    <?xml version="1.0" encoding="utf-8"?> <!--Flex中如何创建一个可以弹出DataGrid作为菜单的 ...