jar命令的使用

当你拿到一个jar文件并且希望替换掉jar中的某一个class文件,你应该怎么做呢?

 

以test.jar为例,放到C:/test目录下面,dos窗口切换到这个目录,运行命令:jar xf test.jar,那么你的所有的文件多解压到当前目录

 

然后替换对应的文件

 

在重新打包: jar cvf test.jar .    , 其中最后一个 号表示将当前目录下的所有文件打包成test.jar.(记得把原来的test.jar先删除掉)

 

另外就是你的jar可能会有一个META-INF的目录,下面有一个manifest.mf文件,这个文件是配合jar工作的,当你的jar是可运行的,该文件记录你运行的一些参数:

 

Manifest-Version: 1.0

Ant-Version: Apache Ant 1.8.2

Created-By: 1.6.0_23-b05 (Sun Microsystems Inc.)

Main-Class: com.ssc.cm.report.writer.ReportWriter

Class-Path: lib/activation-1.1.jar lib/arialfont-1.0.jar lib/bcmail-jd

k14-1.38.jar lib/bcprov-jdk14-1.38.jar lib/bctsp-jdk14-1.38.jar lib/c

ommons-beanutils-1.8.3.jar lib/commons-collections-3.2.1.jar lib/comm

ons-digester-2.1.jar lib/commons-logging-1.1.1.jar lib/dom4j-1.6.1.ja

r lib/edtftpj-1.5.3.jar lib/f1j-11.0.jar lib/groovy-all-2.0.6.jar lib

/itext-4.2.0.jar lib/j2ssh-core-0.2.9.jar lib/jasperreports-4.5.1.1.j

ar lib/jasperreports-extensions-3.5.3.jar lib/jcommon-1.0.15.jar lib/

jfreechart-1.0.12.jar lib/jta-1.1.jar lib/jxl-2.6.12.jar lib/log4j-1.

2.17.jar lib/mail-1.4.1.jar lib/ojdbc14-10.2.0.2.jar lib/pdf-renderer

-1.0.5.jar lib/quartz-1.8.5.jar lib/slf4j-api-1.7.2.jar lib/slf4j-log

4j12-1.7.2.jar lib/soap-2.3.1.jar lib/spring-beans-3.2.0.RELEASE.jar

lib/spring-core-3.2.0.RELEASE.jar lib/xml-apis-1.0.b2.jar /usr/local/

ccms/security/jclass/pwm/PwMatrix.jar

这里设定了入口函数以及使用到的类库.

 

 

如果用上面的命令,会发现你的manifest.mf文件是:

Manifest-Version: 1.0

Ant-Version: Apache Ant 1.8.2

,会导致你的jar运行出错,所以需要使用:

 

 

jar cvfM test.jar manifest.mf .  cvfM中的M表示设置manifest.mf,最后的.号含义同上.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值