服务公告

服务公告 > Linux命令 > 命令行如何编译Java工程?

命令行如何编译Java工程?

发布时间:2025-11-05 00:06

在 Java 开发中,命令行编译工程是一项基础且非常实用的技能,尤其在服务器环境、自动化脚本或无 IDE 的系统中。下面以最通用、严谨的方式讲解如何在命令行中编译完整 Java 工程。


🚀 一、基本编译命令

① 单文件编译

javac HelloWorld.java

解释:

  • javac 是 Java 编译器命令(Java Compiler)。
  • HelloWorld.java 为源文件名。
    编译成功后,会在同一目录下生成一个 HelloWorld.class 字节码文件,供 JVM 执行。

✅ 运行程序:

java HelloWorld
  • java 命令会启动 Java 虚拟机(JVM),并加载已编译的类。
  • 注意:运行时不带 .class 后缀

🧱 二、编译整个工程(多文件项目)

如果项目结构如下:

project/
 ├── src/
 │   ├── com/example/Main.java
 │   └── com/example/utils/Helper.java
 └── bin/

命令如下:

javac -d bin src/com/example/*.java src/com/example/utils/*.java

解释:

  • -d bin:指定编译输出目录为 bin(自动生成对应的包路径结构);
  • src/...:源文件路径,可使用通配符 *.java 批量编译。
    执行后,会在 bin/com/example 下生成 .class 文件。

✅ 运行程序:

java -cp bin com.example.Main

解释:

  • -cp(或 -classpath):指定类路径(告诉 JVM 去哪里找 .class 文件);
  • com.example.Main:类的完整包路径名称(包名+类名)。

⚙️ 三、编译包含依赖 Jar 包的项目

假设有第三方库 lib/mysql-connector.jar,工程结构如下:

project/
 ├── src/
 │   └── com/example/App.java
 ├── lib/
 │   └── mysql-connector.jar
 └── bin/

编译命令:

javac -d bin -cp lib/mysql-connector.jar src/com/example/App.java

解释:

  • -cp lib/mysql-connector.jar:添加外部依赖库路径;
  • -d bin:指定编译输出目录;
  • 可使用 :(Linux/macOS)或 ;(Windows)分隔多个 Jar 文件路径。

✅ 运行程序:

java -cp bin:lib/mysql-connector.jar com.example.App

(Windows 请改为 -cp bin;lib/mysql-connector.jar


📦 四、批量编译所有 Java 文件(自动化脚本常用)

javac -d bin $(find src -name "*.java")

解释:

  • find src -name "*.java":递归查找 src 目录下所有 Java 文件;
  • $(...):命令替换,将文件列表传入 javac
  • -d bin:编译输出至 bin 目录。
    适用于 Linux/macOS 环境,高效快捷。

🧾 五、命令与说明表(支持 Classic Editor)

操作目标 命令 功能说明 备注
🧩 编译单个文件 javac HelloWorld.java 编译单个 Java 文件 生成 .class
▶️ 运行程序 java HelloWorld 启动 JVM 执行字节码 不加 .class
🏗️ 编译多文件工程 javac -d bin src/com/example/*.java 输出到指定目录 自动创建包路径
⚙️ 指定依赖库 javac -cp lib/xxx.jar -d bin src/...java 加入第三方依赖 ;/:分隔
🚀 批量编译所有文件 javac -d bin$(find src -name "*.java") 一键编译整个工程 Linux/macOS 专用

💡 六、企业实用建议

  1. 统一源码目录结构:推荐 src → bin 模式,便于持续集成。
  2. 养成包命名规范:包名建议全小写,符合反域名命名规则。
  3. 编译脚本化:在大型项目中可使用 .sh 或 .bat 脚本自动化执行上述命令。
  4. 大工程推荐构建工具:若依赖复杂,可升级使用 Maven 或 Gradle 进行构建。

已经是第一篇啦!

下一篇: 服务器路由命令有哪些常用技巧?