2017/01/20 学习笔记 关于修改和重打jar包
背景
客户提供了jar包,但发现db表中缺少一个字段,db追加以后需要修改jar包中的source。
操作
如何修改jar包中的source并重新打一个新的jar包,做了如下操作。
① 开包
解压jar包,解压后的source中找到需要修改的java文件,class文件和xml文件
② 第一次打包
将需要修改的java从jar包中提出,class文件删掉,xml文件修改后保存在source中,第一次打包
③ 创建简单的项目获取class文件
修改java文件,创建一个简单的java项目引入java文件,文件目录同jar项目一致,
然后导入第一次打好的jar包,编译这个简单的java项目
④ 第二次打包
找到编译好的class文件和java文件放入source中,再一次打包,就OK了。
打包指令 jar -cvf xxxxx.jar yy
例:jar -cvf sing-dao-core.jar jp
知识
CMD下将JAVA程序打包成 jar 的 公式:
jar {c t x u f} [v m e 0 M i] [-C 目录] 文件名……
解释:
c :创建一个 jar 包
t :显示 jar 包里面的内容
x :解压 jar 包
u :添加文件到 jar包
f :指定 jar 包的文件名
v :在 CMD 显示详细执行过程(报告)
m :指定 manufest.mf 文件(该文件可以对jar包及其内容做设置)
0 :打包 jar包 时不压缩
M :不产生 manufest.mf 文件,覆盖 m 参数的设置
i :为打包的 jar包 创建索引文件
c :进入某目录后再执行 jar 命令,相当于 cd 进入目录然后不带 c 参数执行 jar命令
t :显示 jar 包里面的内容
x :解压 jar 包
u :添加文件到 jar包
f :指定 jar 包的文件名
v :在 CMD 显示详细执行过程(报告)
m :指定 manufest.mf 文件(该文件可以对jar包及其内容做设置)
0 :打包 jar包 时不压缩
M :不产生 manufest.mf 文件,覆盖 m 参数的设置
i :为打包的 jar包 创建索引文件
c :进入某目录后再执行 jar 命令,相当于 cd 进入目录然后不带 c 参数执行 jar命令
示例( v 参数很实用:显示过程):
1、创建 jar 包
jar cf HelloWord.jar Hello.java
2、创建 jar 包(显示过程: v 参数)
jar cvf HelloWord.jar Hello.java
3、列出 jar 包的内容
jar tvf HelloWord.jar
4、解压 jar 包 [windows平台上的解压软件(WinRAR)也行]
jar xf HelloWord.jar
4、解压 jar 包 [windows平台上的解压软件(WinRAR)也行;显示过程]
jar xvf HelloWord.jar
5、添加文件到 jar 包
jar uf HelloWord.jar Hello123.java
jar cf HelloWord.jar Hello.java
2、创建 jar 包(显示过程: v 参数)
jar cvf HelloWord.jar Hello.java
3、列出 jar 包的内容
jar tvf HelloWord.jar
4、解压 jar 包 [windows平台上的解压软件(WinRAR)也行]
jar xf HelloWord.jar
4、解压 jar 包 [windows平台上的解压软件(WinRAR)也行;显示过程]
jar xvf HelloWord.jar
5、添加文件到 jar 包
jar uf HelloWord.jar Hello123.java