前言
一个Java程序的开发过程,首先是编写源文件(.java),其次是编译Java源文件(javac.exe)得到字节码文件,最后是运行Java程序,但Java程序分两类——Java应用程序和Java小应用程序,Java应用程序必须通过Java虚拟机中的Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。那么,究竟如何编译、反编译、打JAR包?See the following.
如: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
如:javap java.awt.Button 列出Button中public方法和public成员变量;
javap -private java.awt.Button 列出Button中全部方法和成员变量;
如:javadoc Example.java 将生成若干个HTML文档,查看这些文档可以知道源文件中类的组成结构,如类中的方法和成员变量。
也可使用参数-d指定生成文档所在的目录,如:javadoc -d F:\test\doc Example.java
使用jar.exe把一些文件压缩成一个JAR文件,来发布应用程序;也可以使用jar.exe把一些类的字节码文件压缩成一个JAR文件,将这个JAR文件存放到Java运行环境的扩展中,即存放在JDK安装目录jre\lib\ext中,这样,其他程序就可以使用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表示文件清单的名字。
使用Java解释器(参数-jar)执行压缩文件,或双击该文件,执行这个压缩文件。
如:java -jar Test.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中)
总结
如有不对的地方欢迎批评指正,谢谢。