❶ 今天学了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
不显示任何信息,但是解压成功
❷ 怎么用JAVA打开jar后缀的文件
你要是想打开看看里面的内容,用Ecplise等编辑软件。要是想解压开看直接用winrar就行了,如果是手机软件,最好下载模拟器gameboy
❸ 在java中打包,为什么要用jar,直接生成rar压缩不可以吗好处是什么呀
不可以.
首先压缩策略不同.
jar是采用zip的压缩策略.
跟rar不一样.
所以可以直接生成zip.然后改
后缀名
jar.
而不能直接生成rar.
这个所谓的好处..
java环境下.可以直接运行jar文件.
而不能直接运行
rar文件
...
这是显而易见的吧.jar里面的class能被import.
显然rar也是不行的.....
❹ java 如何打开一个jar包
jar包的东西一般都是编译过的.class文件,如果要做二次开发,就要进行反编译,将文件反编译成.java文件。eclipse反编译我没用过,不知道效果怎么样。
❺ java如何自动解jar包
当.jar包 位于系统的classpath中 或者位于项目的lib文件夹下时
虚拟机启动时 将自动扫描所有的包,读区包中类文件的信息(此时并没有加载)
只有当使用到某个类文件时,虚拟机才加载相应类文件的内容到内存中.
❻ 为什么JAVA软件压缩包(ZIP RAR)解压后有很多后缀class的文件和文件夹,而没有jar文件
那是java文件的内容,你解压过头了,把jar文件也解压了,那你当然没法看到jar啊,如果你是解压zip文件就解压处class这种文件,建议用文件管理器,改文件的后缀名。如zip的改为jar。这样应该就可以了安装了,不需要再解压了。
希望我的回答对你有用
❼ 如何修改jar包内的源文件
1、将class文件改成java文件(如果你的jar包中是包含源代码的,即包含java文件,请跳过此步)
先将jar包通过winrar或者快压等解压缩软件将jar包解压缩,再通过一些专门的Java反编译工具将class文件转换为java文件(本博主是使用的是JD-GUI这个软件)。
2、更改java源文件
将java文件放入自己专门的开发工具中(eclipse、myeclipse等),需要注意的是,应该是将需要改动的java文件放入java project中,并且要创建对应的package,再将原本的jar导入,此时可能还报错,需要导入一些相应的jar包。当项目不报错之后,就可以做你所需要的修改了。
3、导出jar包
将现在的java project导出为jar包,然后将原本jar包中相应的class文件替换掉(如果是jar包中含有java源文件,也需要将java文件也需要替换)。
至此,jar包修改成功。大家如果有什么问题,可以直接问我或者在下方留言,本人qq:924325679。
❽ jar是什么意思,jar文件怎么打开
JAR文件是一种归档文件,以ZIP格式构建,以.jar为文件扩展名。打开方式如下:
1、桌面有一个jar的文件。
JAR 文件格式以 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。在 JAR 中包含特殊的文件,如 manifests 和部署描述符,用来指示工具如何处理特定的 JAR。
(8)javajar解压缩扩展阅读
JAR文件的特点
1、安全性
可以对 JAR 文件内容加上数字化签名。这样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码是否被篡改过。
2、减少下载时间
如果一个 applet 捆绑到一个 JAR 文件中,那么浏览器就可以在一个 HTTP事务中下载这个 applet 的类文件和相关的资源,而不是对每一个文件打开一个新连接。
3、压缩
JAR 格式允许您压缩文件以提高存储效率。
4、传输平台扩展
Java 扩展框架(Java Extensions Framework)提供了向 Java 核心平台添加功能的方法,这些扩展是用 JAR文件打包的(Java 3D 和 JavaMail 就是由 Sun 开发的扩展例子)。
❾ java jar文件怎么变成了压缩文件了
jar本身就是一种压缩文件,可以使用解压工具进行解压。并且也可以使用javaw.exe打开