引言
近期在做Android相关开发工作,不可避免的需要接触Java层的调用机制,好多年不用Java了,这里整理下相关的编译命令。作为后续参考使用,也防止每次都需要到处查找。
基本概念
- javac - Java programming language compiler,Java编译器,类似gcc
- java - the Java Application Launcher,Java程序加载器,类似操作系统的进程加载器(Loader)
- jdb - Java Application Debugger,调试器,类似gdb
- javah - C Header and Stub File Generator,JNI头文件生成器
- javap - Class File Disassembler,Java反编译工具
- javadoc - API Documentation Generator,Java文档自动生成器
- jar - JAR Archive Tool,Java库文件工具,类似ar
常规的编译、链接、运行,只需要了解javac、jar、java即可。需要调试可以参考jdb。
编译(.java-->.class)
javac a.java a.class
生成Jar包(.class-->.jar)
jar cf myFile.jar *.class
从Jar包中提取*.class
jar xf myFile.jar
运行java程序
java my.class
更具体的用法建议参考java的用户手册。
java反编译工具Jad
先从http://www.kpdus.com/jad.html下载jad软件。解压之后可以直接使用,放到${jad_home}中。
[jad_home]/jad.exe -r -ff -d src -s java classes/**/*.class
其中-r 表示恢复源文件的目录结构,,-ff 表示将类属性定义放在类方法定义之前, -d 表示输出目录,-s 表示文件的扩展名。
所有的java文件将会被放置到src目录下。
更详细的用法可以参考下载文件中的Readme.txt。