Java编译、反编译、JAR

前言


一个Java程序的开发过程,首先是编写源文件(.java),其次是编译Java源文件(javac.exe)得到字节码文件,最后是运行Java程序,但Java程序分两类——Java应用程序和Java小应用程序,Java应用程序必须通过Java虚拟机中的Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。那么,究竟如何编译、反编译、打JAR包?See the following.


1、编译、运行带包名的类

如:package tom.jiafei,源文件保存在目录c:\1000\tom\jiafei中,编译源文件用:"c:\1000\tom\jiafei\javac" 源文件 或"javac c:\1000\tom\jiafei\源文件"。完整过程如下:

c:\1000\tom\jiafei>javac Test.java   也可简化为: javac -d .Test.java 

c:\1000\tom\jiafei>cd ..

c:\1000\tom>cd ..

c:\1000>java tom.jiafei.Test

2、反编译和文档生成器

a、使用sdk提供的反编译器(javap.exe)可以将字节码反编译为源码,查看源码类中的public方法和public成员变量。

如:javap java.awt.Button 列出Button中public方法和public成员变量;

javap -private java.awt.Button 列出Button中全部方法和成员变量;

b、使用sdk提供的javadoc.exe可以制作源文件类结构的HTML格式文档。

如:javadoc Example.java 将生成若干个HTML文档,查看这些文档可以知道源文件中类的组成结构,如类中的方法和成员变量。

也可使用参数-d指定生成文档所在的目录,如:javadoc -d F:\test\doc Example.java

3、JAR

使用jar.exe把一些文件压缩成一个JAR文件,来发布应用程序;也可以使用jar.exe把一些类的字节码文件压缩成一个JAR文件,将这个JAR文件存放到Java运行环境的扩展中,即存放在JDK安装目录jre\lib\ext中,这样,其他程序就可以使用JAR文件中的类创建对象了。

a、生成JAR文件的步骤

如:应用程序有两个类A、B,其中A是主类。

1)编写一个清单文件Mytest.mf,并保存到d:\test

Mytest.mf

Manifest-Version: 1.0

Main-Class: A

Created-By: 1.4

2)生成JAR文件

d:\test\jar cfm Test.jar Mytest.mf A.class B.class

其中参数c表示要生成一个新的JAR文件;f表示要生成的JAR文件的名字;m表示文件清单的名字。

b、执行jar文件

使用Java解释器(参数-jar)执行压缩文件,或双击该文件,执行这个压缩文件。

如:java -jar Test.jar

c、查看、解压、更新JAR文件 

1)d:\test\jar tf Test.jar 

2)d:\test\jar xf Test.jar 

3)d:\test\jar uf Test.jar 

4)d:\test\jar uf Test.jar Hello.class (将一个新的文件增加到Test.jar中)


总结


如有不对的地方欢迎批评指正,谢谢。


你可能感兴趣的:(java)