Java 源码编译器
javac 把 .java 源码编译成 .class 字节码。它需要正确的类路径和目录结构;日常项目通常由 Maven/Gradle 调用。
javac Main.java
javac -d out src/com/example/Main.java
javac --release 17 -d out src/**/*.java
javac -cp lib/*.jar -d out src/com/example/*.java
javac -encoding UTF-8 -Xlint:all -Werror -d out src/**/*.java
javac -parameters -d out src/com/example/*.java
--release 同时约束 API 和字节码版本,比单独 -source/-target 更可靠。package com.example; 要放在 com/example/ 下。-cp 是编译期依赖,运行期还要再给一次;两者不一致会在运行时报 NoClassDefFoundError。-encoding,否则中文注释和字符串会乱码。-Xlint:all -Werror 适合 CI,但升级 JDK 后可能出现新警告。--enable-preview --release <版本>,运行时也要同样开启。java — 运行字节码jar — 打包mvn / gradle — 构建工具