做项目的时候我们肯定接触过很多jar包,那么jar包是什么呢?笔者了解到jar是java archive file 的简写。从名字就可以知道,它的应用与Java息息相关。下面就详细介绍如何自己生成jar包,这样我们管理我们自己的代码(尤其是一些比较重要而且不会或者很少有修改的代码)。

 安装好JDK之后,jar.exe就已经安装好了。在命令行中键入jar命令之后,就会出现下图。里面详细的介绍了jar命令的用法:

  

 下面我们举例介绍jar命令的一些比较常用的用法。

 一.jar cvf 生成jar包的完整名称 要生成的class文件所在目录以及名称

  例如: jar cvf d:/test.jar e:/review/coreJava/chapter4/Employee.class 表示将目录e:/review/coreJava/chapter4下面的Emlopyee.class生成jar文件并存放在d盘下面的test.jar里面。效果如下:

  

  在d盘下面查看,证明已经生成了jar文件:

  

  这是将一个单独的class文件生成jar包,那要是想将位于不同的包下面的大量的class文件打包生成jar文件,也即生成的效果如下图所示,又该怎么做呢?

  

  首先要想生成的效果如上图所示,那么第一步位于不同文件夹下面的.class文件必须使用package关键字打包。然后使用命令生成jar文件。例如,在笔者E:\review\coreJava目录下面有一些笔者平时练习时候的class文件,Java源文件代码中都对它们使用package关键字打包了。如图:

  

  那么使用如下命令就可以将其生成如上图所示的jar文件。步骤如下:

   1.首先上面四个目录中的所有class文件必须使用package打包,例如chapter5下面的所有class文件必须使用package review.coreJava.chapter5。

   2.在命令行里切换到review目录所在的目录下面,笔者这里应该切换到e:盘下面。(这一步很关键)

   3.使用如下命令: jar cvf d:/test.jar review/coreJava。

  回车之后会看到如下所示表示成功:

   

  将其导入到Eclipse中,可以看到如下图所示:

   这样就可以像使用其他jar包一样使用你自己的jar包了。

 二.jar cf 生成jar包的完整名称 要生成的class文件所在目录以及名称

  这个命令的使用方法和上面一样,唯一的区别就是这个命令在生成jar文件的过程中不会显示详细信息。如图:  

  

  虽然没有显示详细信息,但是它的的确确生成了example.jar。

  

 三.jar tf 生成jar包的完整名称 要生成的class文件所在目录以及名称

  使用方法同上。区别是该命令会显示文件中包含的所有目录和文件名列表。笔者这里就不一一演示了。

 四.jar tvf 生成jar包的完整名称 要生成的class文件所在目录以及名称

  使用方法同上。区别是除了显示文件中包含的所有目录信息和文件列表以外,还会显示各目录和文件的大小、创建时间等信息。

 以上就是有关生成jar文件的方法,希望博友提出更好的方式。转载请指明出处。

Java中jar命令详解的更多相关文章

  1. java之jar命令详解

    1. JAR 文件包 JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式.JAR 文件非常类似 ZIP 文件——准确的说, ...

  2. 把java文件打包成.jar (jar命令详解)

    把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1. ...

  3. [转] - JAR文件包及jar命令详解 ( MANIFEST.MF的用法 )

    常常在网上看到有人询问:如何把 java 程序编译成 .exe 文件.通常回答只有两种,一种是制作一个可执行的 JAR 文件包,然后就可以像. chm 文档一样双击运行了:而另一种是使用 JET 来进 ...

  4. Java中日志组件详解

    avalon-logkit Java中日志组件详解 lanhy 发布于 2020-9-1 11:35 224浏览 0收藏 作为开发人员,我相信您对日志记录工具并不陌生. Java还具有功能强大且功能强 ...

  5. oracle中imp命令详解 .

    转自http://www.cnblogs.com/songdavid/articles/2435439.html oracle中imp命令详解 Oracle的导入实用程序(Import utility ...

  6. Java axis2.jar包详解及缺少jar包错误分析

    Java  axis2.jar包详解及缺少jar包错误分析 一.最小开发jar集 axis2 开发最小jar包集: activation-1.1.jar axiom-api-1.2.13.jar ax ...

  7. java中的注解详解和自定义注解

    一.java中的注解详解 1.什么是注解 用一个词就可以描述注解,那就是元数据,即一种描述数据的数据.所以,可以说注解就是源代码的元数据.比如,下面这段代码: @Override public Str ...

  8. Java中dimension类详解

    Java中dimension类详解 https://blog.csdn.net/hrw1234567890/article/details/81217788

  9. [转载]java中import作用详解

    [转载]java中import作用详解 来源: https://blog.csdn.net/qq_25665807/article/details/74747868 这篇博客讲的真的很清楚,这个作者很 ...

随机推荐

  1. [HIve - LanguageManual] Hive Operators and User-Defined Functions (UDFs)

    Hive Operators and User-Defined Functions (UDFs) Hive Operators and User-Defined Functions (UDFs) Bu ...

  2. Android与Mysql服务器通信

    需求:在手机端读取蓝牙传输过来的数据,然后发送到mysql 安卓前期版本可以直接使用mysql connector, 现在只能通过访问url传递数据了. 服务器端写php脚本,接受发送过来的url请求 ...

  3. 探索ORACLE之ASM概念

    一.     ASM(自动存储管理)的来由: ASM是Oracle 10g R2中为了简化Oracle数据库的管理而推出来的一项新功能,这是Oracle自己提供的卷管理器,主要用于替代操作系统所提供的 ...

  4. 解开发者之痛:中国移动MySQL数据库优化最佳实践(转)

    开源数据库MySQL比较容易碰到性能瓶颈,为此经常需要对MySQL数据库进行优化,而MySQL数据库优化需要运维DBA与相关开发共同参与,其中MySQL参数及服务器配置优化主要由运维DBA完成,开发则 ...

  5. 排序算法之快速排序(java实现)

    package com.javaTest300; public class Test039 { public static void main(String[] args) {// 快速排序 int ...

  6. Linux rpm 命令参数

    rpm 执行安装包二进制包(Binary)以及源代码包(Source)两种.二进制包可以直接安装在计算机中,而源代码包将会由RPM自动编译.安装.源代码包经常以src.rpm作为后缀名. 常用命令组合 ...

  7. BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)

    Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K ( ...

  8. [iOS 多线程 & 网络 - 2.3] - 解析xml

    A.XML基本知识 1.xml概念 什么是XML全称是Extensible Markup Language,译作“可扩展标记语言”跟JSON一样,也是常用的一种用于交互的数据格式一般也叫XML文档(X ...

  9. [iOS基础控件 - 6.10.3] DatePicker & UIToolBar

    A.需求 1. 学习DatePicker的基本配置 2.使用TextField召唤指定类型的输入键盘View,这里使用DatePicker 3.给输入键盘上方加上一个UIToolBar,实现如关闭键盘 ...

  10. Git使用过程中出现项目文件无法签入Source Control的情况

    在VS中使用Git进行项目source control的过程中,有些文件不在source control之下,右键点击时,也找不到Undo, Commit命令 无法把他们签入进Source Contr ...