javac的用法

标准选项

-classpath 类路径
设置用户类的路径,它会覆盖 CLASSPATH 环境变量中的用户类路径。若既未指定 CLASSPATH 又未指定 -classpath,则用户类路径由当前目录构成。有关详细信息,请参阅设置类路径。
若未指定 -sourcepath 选项(见下文),则将在用户类路径中查找类文件和源文件。
-d 目录
设置输出类文件的位置。如果某个类是一个包的组成部分,则 javac 将把该类文件放入反映包名的子目录中,必要时创建目录。例如,如果指定 -d c:\myclasses 并且该类名叫 com.mypackage.MyClass,那么类文件就叫作 c:\myclasses\com\mypackage\MyClass.class。
若未指定 -d 选项,则 javac 将把类文件放到与源文件相同的目录中。
注意: -d 选项指定的目录不会被自动添加到用户类路径中。
-deprecation
显示每种不鼓励使用的API(包含成员和类)的使用或覆盖情况说明。没有给出 -deprecation 选项的话, javac 将显示这类源文件的名称:这些源文件使用或覆盖了不鼓励使用的API。
-encoding
设置源文件编码名称,例如 EUCJIS/SJIS。若未指定 -encoding 选项,则使用平台缺省的转换器。
在windows dos环境下编译NetBeans建立的源文件需要加上参数 -encoding utf-8。
-g
生成所有的调试信息,包括局部变量。缺省情况下,只生成行号和源文件信息。
-g:none
不生成任何调试信息。
-g:{关键字列表}
只生成某些类型的调试信息,这些类型由逗号分隔的关键字列表所指定。有效的关键字有:
source
源文件调试信息
lines
行号调试信息
vars
局部变量调试信息
-nowarn
禁用警告信息。
-O
优化代码,缩短执行时间。使用 -O 选项可能使编译速度下降,生成更大的类文件并使程序难以调试。
在 JDK 1.2 以前的版本中,javac 的 -g 选项和 -O 选项不能一起使用。在 JDK 1.2 中,可以将 -g 和 -O 选项结合起来,但可能会得到意想不到的结果,如丢失变量或重新定位代码或丢失代码。-O 选项不再自动打开 -depend 或关闭 -g 选项。同样, -O 选项也不再允许进行跨类内嵌。
-sourcepath 源路径
指定用来查找类或接口定义的源代码路径。与用户类路径一样,多个源路径项用分号 “ ; ” 进行分隔,它们可以是目录、JAR 归档文件或 ZIP 归档文件。如果使用包,那么目录或归档文件中的本地路径名必须反映包名。(注意:通过类路径查找的类,如果找到了其源文件,则可能会自动被重新编译。)
-verbose
冗长输出。它包括了每个所加载的类和每个所编译的源文件的有关信息。
联编选项
缺省情况下,类是根据与 javac 一起发行的 JDK 自举类和扩展类来编译。但 javac 也支持联编,在联编中,类是根据其它 Java平台实现的自举类和扩展类来进行编译的。联编时, -bootclasspath 和 -extdirs 的使用很重要;请参阅下面的联编程序示例。
-target 版本
生成将在指定版本的虚拟机上运行的类文件。缺省情况下生成与 1.1 和 1.2 版本的虚拟机都兼容的类文件。JDK 1.2 中的 javac 所支持的版本有:
1.1
保证所产生的类文件与 1.1 和 1.2 版的虚拟机兼容。这是缺省状态。
1.2
生成的类文件可在 1.2 版的虚拟机上运行,但不能在 1.1 版的虚拟机上运行。
-bootclasspath 自举类路径
根据指定的自举类集进行联编。和用户类路径一样,自举类路径项用分号 (;) 进行分隔,它们可以是目录、JAR 归档文件或 ZIP 归档文件。
-extdirs 目录
根据指定的扩展目录进行联编。目录是以分号分隔的目录列表。在指定目录的每个 JAR 归档文件中查找类文件。

非标准选项

-X
显示非标准选项的有关信息并退出。
-Xdepend
递归地搜索所有可获得的类,以寻找要重编译的最新源文件。该选项将更可靠地查找需要编译的类,但会使编译进程的速度大为减慢。
-Xstdout
将编译器信息送到System.out 中。缺省情况下,编译器信息送到 System.err 中。
-Xverbosepath
说明如何搜索路径和标准扩展以查找源文件和类文件。
-J选项
将选项传给 javac 调用的 java 启动器。例如, -J-Xms48m 将启动内存设为 48 兆字节。虽然它不以 -X 开头,但它并不是 javac 的‘标准选项’。用 -J 将选项传给执行用 Java 编写的应用程序的虚拟机是一种公共约定。

注意

CLASSPATH 、 -classpath 、 -bootclasspath 和 -extdirs 并 不 指定用于运行 javac 的类。如此滥用编译器的实现通常没有任何意义而且总是很危险的。如果确实需要这样做,可用 -J 选项将选项传给基本的 java 启动器。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值