Jar打包用法详解_java

本文较为详细的分析了Jar打包的用法。分享给大家供大家参考。具体分析如下:

jar是标准的java打包命令,位于JAVA_HOME/bin/目录下面。主要功能是将多个文件打包成一个单独的jar文件。
创建jar文件

复制代码 代码如下:

jar c[v0Mmfe] [manifest] [jarfile] [entrypoint] [-C dir] inputfiles [-Joption]

更新jar文件

复制代码 代码如下:

jar u[v0Mmfe] [manifest] [jarfile] [entrypoint] [-C dir] inputfiles [-Joption]

解压jar文件

复制代码 代码如下:

jar x[vf] [jarfile] [inputfiles] [-Joption]

显示Jar包结构

复制代码 代码如下:

jar t[vf] [jarfile] [inputfiles] [-Joption]

添加索引到jar文件

复制代码 代码如下:

jar i jarfile [-Joption]

 
其中[]代表可选

参数分析如下:

jarfile:被创建、更新、解压或者显示的目标jar文件,和-f选项一起使用
inputfiles:文件或者目录,多个文件或者目录用空格分开,表示需要被打包的文件或者目录,待解压的jar包中的文件或者目录,待显示的jar包的文件或者目录。如果是目录,将按照递归的方式处理。多个文件间以zip方式被压缩,除非添加0选项
manifest:指定manifest文件,和-m参数一起使用
entrypoint:指定类名作为应用的入口,和-e选项一起使用。特别说明,-m、-f、-e参数对应的的manifest、jarfile、entrypoint顺序要相同
-C dir:处理inputfiles时,指定后面inputfile的目录,可以有多个-C dir inputfile
-Joption:指定Java runtiome environment的参数,-J何option之间不能有空格
 
选项:

c 创建新的jar包
u 更新已有的jar包
x 解压指定的jar包
t 显示jar包内容
f 和 jarfile一起使用
v 输出详细信息
0 不使用zip压缩
M 生成jar包时不创建manifest文件
m 和manifest一起使用
e 和entrypoint一起使用,指定程序的入口类,并将其写入到生成的manifest文件中,对应Main-Class。如果和manifest一起使用并且manifest中指名了Main-Class,打包将会出错

希望本文所述对大家的Java程序设计有所帮助。

时间: 2024-09-30 20:04:03

Jar打包用法详解_java的相关文章

jar命令的用法详解_java

本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中有一个META-INF\MANIFEST.MF文件,当你找成JAR包时,它会自动生成. JAR包是由JDK安装目录\bin\jar.exe命令生成的,当我们安装好JDK,设置好path路径,就可以正常使用jar.exe命令,它会用lib\tool.jar工具包中的类.这些细节就不用管它了. 让我们看

Java 中Map 的用法详解_java

Map简介 将键映射到值的对象.一个映射不能包含重复的键:每个键最多只能映射到一个值.此接口取代 Dictionary 类,后者完全是一个抽象类,而不是一个接口. Map 接口提供三种collection 视图,允许以键集.值集或键-值映射关系集的形式查看某个映射的内容.映射顺序 定义为迭代器在映射的 collection 视图上返回其元素的顺序.某些映射实现可明确保证其顺序,如 TreeMap 类:另一些映射实现则不保证顺序,如HashMap 类. 注:将可变对象用作映射键时必须格外小心.当对

java 查询oracle数据库所有表DatabaseMetaData的用法(详解)_java

一 . 得到这个对象的实例 Connection con ; con = DriverManager.getConnection(url,userName,password); DatabaseMetaData dbmd = con.getMetaData(); 二. 方法getTables的用法 原型: ResultSet DatabaseMetaData.getTables(String catalog,String schema,String tableName,String []type

javac -encoding 用法详解_java

昨天有个刚学java的师弟发了个程序给我,说死活编译不过,老是报编码问题,自己试了一下,也出问题了... 当我们编辑了一个Java源文件保存时,是以操作系统默认的字符编码保存的(Windows xp默认字符集是GBK).当调用javac命令时,会把源文件进行一次编码转换,如果没有指定字符集,就从操作系统默认的字符集转换成Java内部默认的unicode字符集,然后再将源文件编译成class文件,并且以unicode的编码形式保存到硬盘上. 仔细查看了一下错误,才发现是文件编码的问题,他的文件用的

java synchronized用法详解_java

Java语言的关键字,当它用来修饰一个方法或者一个代码块的时候,能够保证在同一时刻最多只有一个线程执行该段代码. 一.当两个并发线程访问同一个对象object中的这个synchronized(this)同步代码块时,一个时间内只能有一个线程得到执行.另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块. 二.然而,当一个线程访问object的一个synchronized(this)同步代码块时,另一个线程仍然可以访问该object中的非synchronized(this)同步代码块.

Java RandomAccessFile的用法详解_java

RandomAccessFile RandomAccessFile是用来访问那些保存数据记录的文件的,你就可以用seek( )方法来访问记录,并进行读写了.这些记录的大小不必相同:但是其大小和位置必须是可知的.但是该类仅限于操作文件. RandomAccessFile不属于InputStream和OutputStream类系的.实际上,除了实现DataInput和 DataOutput接口之外(DataInputStream和DataOutputStream也实现了这两个接口),它和这两个类系毫

Java中volatile关键字的作用与用法详解_java

volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以重获生机. volatile 关键字作用是,使系统中所有线程对该关键字修饰的变量共享可见,可以禁止线程的工作内存对volatile修饰的变量进行缓存. volatile 2个使用场景: 1.可见性:Java提供了volatile关键字来保证可见性. 当一个共享变量被volatile修饰时,它会保证修

JAVA线程用法详解_java

本文配合实例较为详细的讲解了Java的线程技术,相信对于深入理解Java程序设计有一定的帮助.具体如下: 很多人在学习JAVA时都对线程都有一定的了解,而当我们开始接触Android开发时,才真真正正的发现了线程是多麽的重要,本文就把对Java线程的用法心得分享给大家,供大家参考. 首先,大家一定要分清线程和进程不是一回事,进程是什么呢?进程就如我们需要执行class文件,而线程才是真正调用CPU资源来运行的.一个class文件一般只有一个进程,但线程可以有很多个,线程的执行是一种异步的执行方式

Java中的日期和时间类以及Calendar类用法详解_java

Java日期和时间类简介 Java 的日期和时间类位于 java.util 包中.利用日期时间类提供的方法,可以获取当前的日期和时间,创建日期和时间参数,计算和比较时间. Date 类 Date 类是 Java 中的日期时间类,其构造方法比较多,下面是常用的两个: Date():使用当前的日期和时间初始化一个对象. Date(long millisec):从1970年01月01日00时(格林威治时间)开始以毫秒计算时间,计算 millisec 毫秒.如果运行 Java 程序的本地时区是北京时区(