jarwar解压
A. 今天学了jar命令以及怎么样解压缩war和jar包2.梳理生产环境主机分布情况,以及其
java编程中每天都用不少jar文件,项目开发中不停地导包,在忙完了一天的工作,放下那些复杂的业务实现,不仅想问这些jar包怎么生成的,jar包有哪些独特的地方等等。
原来这些经常见到的jar包是jar命令生成的,java语言为我们在安装jdk的时候,就随jdk为我们在bin目录中安装好了,在windows系统中是jar.exe程序,Linux系统中为jar文件。
jar命令有生成,查看,更新或解开jar包的作用。jar包与其他的压缩包很相似,不过它包含了META-INF/MANIFEST.MF文件,它是jar包生成的时候,自动创建的。
jar命令的参数详解:
C:\>jar cf lm.jar
'c' 标志要求指定清单或输入文件!
用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-point] [-C dir] files ...
选项包括:
-c 创建新的归档文件
-t 列出归档目录
-x 解压缩已归档的指定(或所有)文件
-u 更新现有的归档文件
-v 在标准输出中生成详细输出
-f 指定归档文件名
-m 包含指定清单文件中的清单信息
-e 为捆绑到可执行 jar 文件的独立应用程序
指定应用程序入口点
-0 仅存储;不使用任何 ZIP 压缩
-M 不创建条目的清单文件
-i 为指定的 jar 文件生成索引信息
-C 更改为指定的目录并包含其中的文件
如果有任何目录文件,则对其进行递归处理。
清单文件名、归档文件名和入口点名的指定顺序
与 "m"、"f" 和 "e" 标志的指定顺序相同。
示例 1:将两个类文件归档到一个名为 classes.jar 的归档文件中:
jar cvf classes.jar Foo.class Bar.class
示例 2:使用现有的清单文件 "mymanifest" 并
将 foo/ 目录中的所有文件归档到 "classes.jar" 中:
jar cvfm classes.jar mymanifest -C foo/ .
实例1.
C:\>jar cf lm.jar Lm.class Lm.java
结果:在c盘下创建了Executable Jar File类型的lm.jar包。
实例2.添加v参数显示打包详细过程,
C:\jar>jar cvf lm.jar Lm.class
标明清单(manifest)
增加:Lm.class(读入= 410) (写出= 283)(压缩了 30%)
其中c参数表示创建jar包,f参数是指定的jar包文件名。在使用jar命令的时候,要指定必须的参数,告诉他你要做什么操作。这些参数包括
-c 创建新的归档文件
-t 列出归档目录
-x 解压缩已归档的指定(或所有)文件
-u 更新现有的归档文件
实例3.运行刚生成的jar包:
C:\>java -jar lm.jar
Failed to load Main-Class manifest attribute from
lm.jar
根据英文错误提示,好像读取lm.jar包的manifest属性失败。
实例4.创建不包含META-INF/MANIFEST.MF文件的jar包
C:\jar>jar cvfM lm1.jar Lm.class
增加:Lm.class(读入= 410) (写出= 283)(压缩了 30%)
实例5.显示jar包中的文件
C:\jar>jar tf lm.jar
META-INF/
META-INF/MANIFEST.MF
Lm.class
实例6.由于创建jar包的时候用了M参数所以就没有META-INF目录和META-INF/MANIFEST.MF文件
C:\jar>jar tf lm1.jar
Lm.class
实例7.显示jar包的文件和文件详细信息
C:\jar>jar tvf lm.jar
0 Mon Sep 26 23:09:34 CST 2011 META-INF/
75 Mon Sep 26 23:09:34 CST 2011 META-INF/MANIFEST.MF
410 Mon Sep 26 22:09:00 CST 2011 Lm.class
这些详细信息包括读入的字节,jar包中读入的时间,目录或文件名
实例8.解压jar包到当前目录中
C:\jar>jar xf lm.jar
不显示任何信息,但是解压成功
B. maven中jar和war的区别
jar包和war包的区别:
war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.
它们都是压缩的包,拿Tomcat来说,将war文件包放置它的webapps目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了。
war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:通常是开发时要引用通用类,打成包便于存放管理。
ear包:企业级应用,通常是EJB打成ear包。
所有的包都是用jar打的,只不过目标文件的扩展名不一样。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。
C. jar war zip rar 这些文件有啥本质区别,我不是太懂
jar是java文件...
war不记得- -```
zip是可读取的压缩文件
rar是纯压缩文件
例如还有iso是镜像文件
cso是压缩镜像文件
7z是类似于rar的...
一般扩展名为7z,rar,zip,都是压缩包,通常解压后使用
D. jar包和war包有什么区别啊
WAR(Web Archive file)网络应用程序文件
是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为 J2EE 应用程序创建的 JAR 文件是 EAR 文件(企业 JAR 文件)war专用在web方面 。
JAR是JAVA的程序包,解压以后有JAR和JAD文件,安装只JAR的文件就可以使用。用在JAVA平台。
E. 运行war程序和运行jar的区别
其实从英文名称就看得出来
jar Java ARchive,java归档文件
war Web application ARchive,web应用程序归档文件
ear Enterprise application ARchive,企业应用程序归档文件
是根据用途来进行区分的,相应的内容上也就有些区别,比方说war文件中一般都有web.xml配置文件。处理方式上也有区别,比方说tomcat会自动识别webapps文件夹下的war文件,解压并部署,但对jar文件就不会这样。
F. war包和jar包的区别
JavaSE程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可以理解为Web了)。然后把war发布到Tomcat的webapps目录下,Tomcat会在启动时自动解压war包。
G. 理解:jar包和war包的区别
jar包和war包的区别:
war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块。而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令运行的.
它们都是压缩的包,拿Tomcat来说,将war文件包放置它的\webapps\目录下,启动Tomcat,这个包可以自动进行解压,也就是你的web目录,相当于发布了。
war包:是做好一个web应用后,通常是网站,打成包部署到容器中。
jar包:通常是开发时要引用通用类,打成包便于存放管理。
ear包:企业级应用,通常是EJB打成ear包。
所有的包都是用jar打的,只不过目标文件的扩展名不一样。
WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和Jsp文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和Jsp或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。
H. 怎么用jar命令解压war包到指定的文件家下
1、笨方法就是把该war包移动到该文件夹下 然后用jar -xvf解压到当前的目录下 。
2、也可不用移动解压到指定文件夹的么命令:
jar xvf /home/work/test.war
这个命令就是把/home/work/test.war解压到当前目录
只不过需要给出全路径而已