环境准备
-
安装JDK
- 从Oracle官网下载对应操作系统的JDK(推荐LTS版本如JDK 17)。
- 安装后验证:
java -version # 查看Java运行时版本 javac -version # 查看编译器版本
成功标志:显示版本号(如
javac 17.0.5
)。
-
配置环境变量
- Windows:
添加JDK安装路径(如C:\Program Files\Java\jdk-17\bin
)到系统变量Path
。 - Linux/macOS:
在~/.bashrc
或~/.zshrc
中添加:export PATH=$PATH:/usr/lib/jvm/jdk-17/bin # 替换为实际路径
- Windows:
基本编译命令
编译单个文件
javac HelloWorld.java
- 作用:将
HelloWorld.java
编译为字节码文件HelloWorld.class
。 - 成功标志:无输出,同级目录生成
.class
文件。
指定输出目录
javac -d ./bin HelloWorld.java
-d ./bin
:将生成的.class
文件保存到bin
目录(目录需提前创建)。
编译多个文件
javac Main.java Util.java Helper.java # 同时编译多个文件
或使用通配符:
javac *.java # 编译当前目录所有Java文件
常用编译选项
选项 | 作用 | 示例 |
---|---|---|
-cp 或 -classpath |
指定依赖库路径 | javac -cp libs/*.jar;. Main.java |
-encoding |
设置源文件编码(防中文乱码) | javac -encoding UTF-8 Hello.java |
-verbose |
显示详细编译过程 | javac -verbose App.java |
-source |
指定Java语言版本 | javac -source 11 OldCode.java |
完整示例
-
创建文件
App.java
:public class App { public static void main(String[] args) { System.out.println("编译成功!"); } }
-
编译并运行:
javac App.java # 生成 App.class java App # 输出:编译成功!
常见问题解决
-
错误:
javac 不是内部命令
- 原因:JDK未安装或环境变量未配置。
- 解决:重新检查JDK安装和
Path
配置。
-
错误:
找不到符号
- 原因:类依赖缺失或文件名与类名不一致(Java要求
public class
必须与文件名相同)。 - 解决:检查类名拼写,或通过
-cp
添加依赖库。
- 原因:类依赖缺失或文件名与类名不一致(Java要求
-
中文乱码
- 解决:编译时指定编码:
javac -encoding UTF-8 MyFile.java
- 解决:编译时指定编码:
高级用法
- 编译整个目录:
javac -d ./out ./src/**/*.java # 递归编译src下所有Java文件
- 生成调试信息(用于IDE断点):
javac -g MyApp.java
javac
是Java开发的核心工具,掌握其基本命令和选项是开发者的必备技能,重点注意:
- 确保JDK环境正确配置;
- 源文件名必须与
public class
名称一致; - 使用
-encoding UTF-8
避免中文编码问题。
引用说明参考Oracle官方Javac文档及《Java核心技术》(Cay S. Horstmann著),遵循Java语言规范,实践环境基于OpenJDK 17验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8153.html