JDK工具 javac命令详解
SCJP必考的内容,理解了这个对掌握IDE开发工具是很有帮助的。也不至于离开了IDE就不能写代码了。
这块内容很简单,但题不容易能做全对。
一、查看命令
C:\myproject>javac -help
用法:javac <选项> <源文件>
其中,可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件的位置
-cp <路径> 指定查找用户类文件的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖安装的扩展目录的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-d <目录> 指定存放生成的类文件的位置
-encoding <编码> 指定源文件使用的字符编码
-source <版本> 提供与指定版本的源兼容性
-target <版本> 生成特定 VM 版本的类文件
-version 版本信息
-help 输出标准选项的提要
-X 输出非标准选项的提要
-J<标志> 直接将 <标志> 传递给运行时系统
二、实践
1、-d
-d是为了指定输出目录。这个命令中最麻烦是要时刻关注当前目录,并要学会使用相对路径来指定classes目录的位置。
为了实践,创建一个工程C:\myproject,并在其下创建源代码文件夹src和编译输出文件夹classes。
创建一个Hello.java文件,代码如下。
package com.lavasoft;
public
class Hello {
public
static
void main(String[] args) {
System.out.println(
"Hello World!");
}
}
完成后的目录如下图。
然后在不同的目录下面对Hello.java文件进行编译。然后总输出到C:\myproject\classes目录下。
操作过程如下图。
2、-cp
指定CLASSPATH参数,也可以指定一个或多个jar文件,Windows系统下分号隔开。
例如 -cp D:\apache-tomcat-5.5.20\common\lib\servlet-api.jar;D:\apache-tomcat-5.5.20\common\lib\jsp-api.jar
3、-verbose -encoding -source -target
输出有关编译器正在执行的操作的消息,这个可以查看编译时候加载的jar包等信息,也很有用。
4、其他的