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格式),解压也可如此
Java jar命令 常见用法的更多相关文章
- jar命令的用法详解
本文详细讲述了JAR命令的用法,对于大家学习和总结jar命令的使用有一定的帮助作用.具体如下: JAR包是Java中所特有一种压缩文档,其实大家就可以把它理解为.zip包.当然也是有区别的,JAR包中 ...
- 使用 "java -jar"命令启动jar包时报不支持的jdk版本异常
在使用java -jar 命令启动一个jar包的时候,提示版本不支持: [root@hadoop01 eureka-server-master]# java -jar xuebusi-eureka-s ...
- JAVA jar命令(一)-jar打包class文件
jar包本质上是将所有class文件.资源文件压缩打成一个包(也可以选择不压缩),可选择在jar包中生成META-INF/MANIFEST.MF文件,MANIFEST.MF是清单文件,里面可以记录主类 ...
- Java——jar命令
把*.class压缩成一个文件,这样的文件就称为jar文件. 如果想要生成jar文件,直接使用JDK中bin目录里的jar.exe就可以将所有的类文件进行压缩. 当用户得到一个jar文件后,即可通过设 ...
- java -jar 命令
java -jar spring.jar 这个命令当你 controller c 之后,程序就自动结束了 java jar spring.jar & &是指在后台运行,但当用户推出(挂 ...
- centos7下将java -jar命令运行一个项目做成systemd服务
有些时候运行一个java项目在linux下通过一条简单的java命令即可,如: #nohup java -jar jenkins.war & ###这里为后台运行jenkins 在此背景下,j ...
- java -jar命令
1.用eclipse的export导出jar包后,打开jar中的MANIFEST.MS文件,修改如下: 2.然后在命令行中输入命令:java -jar aa.jar即可.
- Linux后台运行java的jar包后台运行java -jar 命令
为什么java -jar 的命令终端的窗口关闭就停止运行了??tomcat中war的就不会? 关闭终端的窗口相当于ctrl+c的命令,关闭了窗口就相当于停止了java -jar这个进程,即ctrl+c ...
- Java反射的常见用法
反射的常见用法有三类,第一类是“查看”,比如输入某个类的属性方法等信息,第二类是“装载“,比如装载指定的类到内存里,第三类是“调用”,比如通过传入参数,调用指定的方法. 1 查看属性的修饰符.类型和名 ...
随机推荐
- September 7th 2016 Week 37th Wednesday
Patience is bitter, but its fruit is sweet. 忍耐是痛苦的,但它的果实却是甜蜜的. However, many may give up before they ...
- R语言入门小练习
要求:模拟产生统计专业同学的名单(学号区分),记录数学,线代,英语三科成绩 > num <- seq(1513032001, 15130320100) #模 ...
- Linq查询
//Linq查询 List<A1> a1 = new List<A1>(); a1.Add(, Name = , Gender = true }); a1.Add(, Name ...
- hdu2030 汉字统计
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2030 解题思路:主要考察汉字的编码方式, 汉字机内码在计算机的表达方式的描述是,使用二个字节,汉字的每 ...
- CLR via C#(13)-浅谈事件
提起事件,我们都不陌生,事件使类之间有了交互的能力.它是建立在委托基础上的.有了前面对委托的了解,相信读起事件来也不会太难了.关于事件,现成的好文章数不胜数,本不打算写了.不过问道有先后,各抒己见,也 ...
- 超好用的plsql设置
http://blog.itpub.net/24496241/viewspace-740917/
- C++中的虚函数(表)实现机制以及用C语言对其进行的模拟实现
tfref 前言 C++对象的内存布局 只有数据成员的对象 没有虚函数的对象 拥有仅一个虚函数的对象 拥有多个虚函数的对象 单继承且本身不存在虚函数的继承类的内存布局 本身不存在虚函数(不严谨)但存在 ...
- 攻城狮在路上(壹) Hibernate(十六)--- Hibernate声明数据库事务
一.数据库事务的概念: 数据库的ACID特征:Atomic.Consistency.Isolation.Durability.原子性.一致性.隔离性.持久性.不同的隔离级别引发的不同问题. 事务的AC ...
- Solr入门之(4)配置文件solr.xml
<?xml version="1.0" encoding="UTF-8" ?> <!-- This is an example of a si ...
- Beego框架使用
go get github.com/astaxie/beego vim hello.go package main import "github.com/astaxie/beego" ...