javac常用参数

本文详细介绍了javac命令的使用方法及各种选项的意义,包括如何指定类路径、源文件路径、字符编码以及类文件的保存位置等。

javac用法:javac <选项> <源文件>

 

-classpath <路径> 指定查找用户类文件的位置

-cp <路径>  指定查找用户类文件的位置

-sourcepath <路径> 指定查找输入源文件的位置

-encoding <编码> 指定源文件使用的字符编码

-d <目录> 指定存放生成的类文件的位置

javac是Java编译器的命令行工具,用于将Java源代码文件(`.java` 文件)编译成Java字节码文件(`.class` 文件),这些字节码文件可以在Java虚拟机(JVM)上运行。以下是一些常用javac参数及其详细介绍: - **`-encoding`**:指定源文件使用的字符编码。例如,`javac -encoding UTF-8 cn/tf/jvm/part10/NameChecker.java` 表示以UTF-8编码来编译 `NameChecker.java` 文件,避免因编码问题导致编译错误[^1]。 - **`-processor`**:用于指定编译时需要附带的注解处理器。当Java代码中使用了注解,并且需要自定义注解处理器来处理这些注解时,可以使用该参数。例如,`javac -processor MyAnnotationProcessor MyClass.java` 表示在编译 `MyClass.java` 时使用 `MyAnnotationProcessor` 注解处理器[^1]。 - **`-classpath` 或 `-cp`**:指定类搜索路径。如果当前要编译的Java文件中引用了其它的类,但该引用类的 `.class` 文件不在当前目录下,就需要使用该参数指导编译器在编译时去指定的路径下查找引用类。例如,`javac -classpath /tmp/javatest/lib/mail-1.3.3.jar -d /tmp/javatest/bin/ /tmp/javatest/src/jp/co/realseed/Capability.java` 表示在编译 `Capability.java` 时,到 `/tmp/javatest/lib/mail-1.3.3.jar` 中查找所需的类[^4]。 - **`-d`**:指定编译生成的 `.class` 文件的输出目录。例如,`javac -d /tmp/output MyClass.java` 表示将 `MyClass.java` 编译后的 `.class` 文件输出到 `/tmp/output` 目录下。 - **`-source`**:指定要使用的源文件版本。例如,`javac -source 1.8 MyClass.java` 表示使用Java 1.8的语法规则来编译 `MyClass.java` 文件。 - **`-target`**:指定生成的字节码文件要兼容的JVM版本。例如,`javac -target 1.8 MyClass.java` 表示生成的 `.class` 文件要能在Java 1.8版本的JVM上运行。 ### 示例代码 以下是一个使用 `javac` 编译多个文件的示例: ```bash javac -encoding UTF-8 -d bin src/com/example/*.java ``` 上述命令表示以UTF-8编码编译 `src/com/example` 目录下的所有 `.java` 文件,并将编译后的 `.class` 文件输出到 `bin` 目录下。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值