命令行 |
解释
|
@<filename> |
示例
|
-Akey[=value] |
传递给annotation processors的选项
|
--add-modules <module>(,<module>)* |
Root modules to resolve in addition to the initial modules, or all modules on the module path if <module> is ALL-MODULE-PATH.
|
--boot-class-path <path>, -bootclasspath <path> |
覆盖自举bootstrap class files的路径
|
--class-path <path>, -classpath <path>, -cp <path> |
指出在哪里搜索class files。它将覆盖CLASSPATH环境变量中的类路径
|
-d <directory> |
指出产生的class files放在哪里。如果产生的类是一个包的组成部分,则该class files放入对应于所在package的子目录中。必要时创建目录。若未指定 -d 选项,则 javac 将把class files放到与源文件相同的目录中。
|
-deprecation |
显示每种不被java语言规范鼓励使用或覆盖的成员或类的说明。没有给出 -deprecation 选项的话, javac将显示这类源文件的名称:这些源文件使用或覆盖不鼓励使用的成员或类。 -deprecation是-Xlint:deprecation的简写
|
-encoding <encoding> |
指出源文件的字符编码
|
-endorseddirs <dirs> |
Override location of endorsed standards path
|
-extdirs <dirs> |
覆盖installed extensions的位置
|
-g |
生成所有的调试信息,包括局部变量。缺省情况下,只生成行号和源文件信息。
|
-g:{lines,vars,source} |
生成某些调试信息,如源文件调试信息、行号调试信息、局部变量调试信息
|
-g:none |
不生成任何调试信息
|
-h <directory> |
指出在哪里放置生成的native header files
|
--help, -help |
打印帮助信息
|
--help-extra, -X |
打印对额外选项的帮助信息
|
-implicit:{none,class} |
指出是否对implicitly referenced files生成class files。缺省值是class
|
-J<flag> |
把<flag>直接传给runtime system
|
--limit-modules <module>(,<module>)* |
限制可看到的modules的范围
|
--module <module-name>, -m <module-name> |
只编译指定的module,检查时间戳
|
--module-path <path>, -p <path> |
指出在哪里搜索modules
|
--module-source-path <module-source-path> |
指出对多个人modules在哪里搜索源文件
|
--module-version <version> |
指出将被编译的module的版本
|
-nowarn |
不产生警告信息
|
-parameters |
生成元数据用于reflection方法参数。构造函数与方法的形参名被存储在生成的class file中,从而Reflection API的 java.lang.reflect.Executable.getParameters方法可以获取它们
|
-proc:{none,only} |
控制annotation processing 与/或编译被执行。none表示只编译无annotation processing;only只annotation processing无随后的编译
|
-processor <class1>[,<class2>,<class3>...] |
将要运行的annotation processing的名字;跳过默认的发现过程
|
--processor-module-path <path> |
指出一个module路径可以发现annotation processor
|
--processor-path <path>, -processorpath <path> |
指出在哪里可以发现annotation processors
|
-profile <profile> |
在指定的profile中被用的API是可利用的
|
--release <release> |
针对特定版本虚拟机编译。支持的目标版本: 10, 6, 7, 8, 9
|
-s <directory> |
指出在哪里存放被生成的source files
|
-source <release> |
指出源代码遵从哪个版本的Java语言标准。必须大于5
|
--source-path <path>, -sourcepath <path> |
指定用来查找类或接口定义的源代码路径。与用户class path一样,源路径项用分号 (;) 进行分隔,它们可以是目录、JAR 归档文件或 ZIP 归档文件。如果使用包,那么目录或归档文件中的本地路径名必须反映包名。注意:通过类路径查找的类,如果找到了其源文件,则可能会自动被重新编译。
|
none |
覆盖系统module的位置
|
-target <release> |
生成将在指定版本的虚拟机上运行的类文件
|
--upgrade-module-path <path> |
覆盖upgradeable modules的位置
|
-verbose |
输出编译器正在做的事情。包括了每个所加载的类和每个所编译的源文件的有关信息
|
--version, -version |
版本信息
|
-Werror |
如果警告出现则停止编译
|