前言
一个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程序的开发过程,首先是编写源文件(.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中)
总结
如有不对的地方欢迎批评指正,谢谢。