java反编译 jar jad

[quote]将CLASS文件打包成JAR文件?[/quote]
一:简单的打包:


先将要打包的文件整理好,拷贝到一个目录中。然后打开命令行窗口,进入到这个目录下面,执行以下命令即可:

jar cvf SanyDemo.war */.

这里指定文件名为SanyDemo.war,“*/.”表示要打包的文件为当前目录下的所有文件。


用法: 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/ .



二:使用Eclipse 打包应注意的问题


如果项目有依赖的jar,那么要注意:
可把jar包打到War包里,但jar包不能打到Jar包里去。
“MANIFEST.MF”文件内容
Manifest-Version: 1.0
Main-Class:A
Class-Path: lib/commonsapi.jar

假设打包后名为A.jar

然后整理成如下目录结构
A.jar
lib
-commonsapi.jar

将所有依赖包都放入lib文件夹中,双击A.jar,程序就可以运行了。





三:打包成WAR文件:

在CMD下,当我们敲下jar -help时,系统给我们提供了如下的jar命令以及jar打包:

用法: jar {ctxui}[vfm0Me] [jar-file] [manifest-file] [entry-
s ...
选项包括:
-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/ .

现在我们用jar命令来进行war打包:

运行cmd 进入命令提示行,定位到工程的路径,如你工程名是"classes" 放在d盘要路径下,

你就可以运行到d:\classes

然后运行Jar cvf classes.war */ . (此处有一个点,包含了此文件夹下的所有文件)即可。

“D:\JCY2007>d:\java1.5\bin\jar cvf JCY2007.war *”把D:/JCY2007目录下所有的文件都打包到JCY2007.WAR中


Java下的一个简单易用的反编译工具jad, 可以很方便的将.class反编译为.Java. 点击下载

[quote]一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符

二、Option -o
不提示,覆盖源文件

三、Option -s
反编译结果以.Java为扩展名。

四、Option -p
将反编译结果输出到屏幕


将反编译结果重定向到文件
[quote]c:\Java\>jad -p example1.class>example1.Java [/quote]

五、Option -d
指定反编译的输出文件目录


六、Option -r
按*.class的包结构输出文件目录 [/quote]

[quote][b] 
实例[/b][/quote]

以下假设jad.exe在c:\java目录下

一、基本用法
Usage:jad [option(s)]
直接输入类文件名,且支持通配符,如下所示。
c:\java\>jad example1.class 
c:\java\>jad *.class
结果是将example1.class反编译为example1.jad。将example1.jad改为example1.java即得源文件。

二、Option -o
不提示,覆盖源文件

三、Option -s
c:\java\>jad -sjava example1.class 
反编译结果以.java为扩展名。

四、Option -p
将反编译结果输出到屏幕
c:\java\>jad -p example1.class 
将反编译结果重定向到文件
[quote]c:\java\>jad -p example1.class>example1.java [/quote]

五、Option -d
指定反编译的输出文件目录
c:\java\>jad -o -dtest -sjava *.class 


六、Option -r
按*.class的包结构输出文件目录
c:\java\>jad -o -r -dtest -sjava d:/1/**/*.class 
将d:\1\文件夹下的.class文件按照原程序的包结构反编译到test目录下。


[quote]在C:\java下有两个文件夹,一个是Class文件夹,用于存放.Class文件;一个是src文件夹,用来存放编译好的源文件。可以在cmd下任意目录位置执行以下命令:


c:\>jad -o -r -d c:\java\src -sjava c:\java\class\**\*.class


命令解释:
-o :不提示,覆盖源文件
-r :按*.class的包结构输出文件目录
-d :指定反编译的输出文件目录
-sjava :反编译结果以.java为扩展名。
这条命令的作用就是:将c:\java\class\**\*.class中的(两颗接连的星,表示任意层次的子目录。)所有目录下的.Class文件 进行反编译,并将其后缀以.java命名(-sjava),按原来的包结构(-r)放到(-d)C:\java\src下
.
[/quote]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值