上一篇                     
               
			  如何在命令行编译Java
- 后端开发
 - 2025-06-28
 - 3526
 
 使用javac命令编译Java源文件,
 
 
javac HelloWorld.java,成功编译后生成.class字节码文件,再通过
 java HelloWorld运行程序,注意文件名需与类名一致。
准备工作:安装JDK并配置环境变量
-  
下载JDK
访问Oracle官网或OpenJDK,下载与操作系统匹配的JDK版本(推荐JDK 11+)。 -  
配置环境变量
- Windows 
    
- 安装JDK后,打开
控制面板 > 系统 > 高级系统设置 > 环境变量。 - 在
系统变量中新建:- 变量名:
JAVA_HOME - 变量值:JDK安装路径(如
C:Program FilesJavajdk-21) 
 - 变量名:
 - 编辑
Path变量,新增两项:%JAVA_HOME%bin%JAVA_HOME%jrebin
 
 - 安装JDK后,打开
 - macOS/Linux
编辑~/.bashrc或~/.zshrc文件,添加:export JAVA_HOME=/usr/lib/jvm/jdk-21 # 替换为实际路径 export PATH=$JAVA_HOME/bin:$PATH
执行
source ~/.bashrc使配置生效。 
 - Windows 
    
 -  
验证安装
打开命令行,输入以下命令:java -version javac -version
若显示版本号(如
java 21.0.1),则配置成功。 
编译并运行Java程序
示例1:基础单文件程序
-  
编写Java代码
创建文件HelloWorld.java如下:
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Command Line!"); } } -  
编译程序
打开命令行,进入文件所在目录,执行:javac HelloWorld.java
- 成功后会生成
HelloWorld.class字节码文件。 - 关键选项: 
    
-d <目录>:指定输出目录(如javac -d ./out HelloWorld.java)。-encoding UTF-8:指定源码编码(避免中文乱码)。
 
 - 成功后会生成
 -  
运行程序
java HelloWorld
输出结果:
Hello, Command Line! 
示例2:带包名的程序
-  
编写带包结构的代码
创建文件com/example/Main.java如下:package com.example; public class Main { public static void main(String[] args) { System.out.println("Running with package!"); } } -  
编译与运行

- 编译: 
javac com/example/Main.java
生成
com/example/Main.class。 - 运行(需从根目录执行): 
java com.example.Main
 
 - 编译: 
 
示例3:编译多个文件
假设有两个文件:
Utils.java(工具类)App.java(主类,依赖Utils)
# 编译所有.java文件 javac *.java # 或指定文件 javac Utils.java App.java
常见问题解决
-  
javac 未找到或不是内部命令- 原因:环境变量配置错误。
 - 解决:重新检查
JAVA_HOME和Path配置。 
 -  
找不到主类(Error: Could not find or load main class)- 原因: 
    
- 类名拼写错误。
 - 未从包结构的根目录运行。
 .class文件不在当前目录。
 - 解决: 
    
- 使用
-classpath指定路径:java -cp ./out com.example.Main。 
 - 使用
 
 - 原因: 
    
 -  
中文乱码

- 编译时指定编码: 
javac -encoding UTF-8 HelloWorld.java
 
 - 编译时指定编码: 
 
高级技巧
-  
使用
-classpath管理依赖
编译时指定外部JAR:javac -cp libs/gson.jar MyApp.java
 -  
生成文档(Javadoc)
javadoc -d docs HelloWorld.java
 
- 命令行编译是理解Java构建过程的核心,尤其适用于自动化脚本或服务器环境。
 - 对于复杂项目,建议使用构建工具(如Maven或Gradle)管理依赖和编译流程。
 - 始终验证环境变量配置,这是成功编译的前提。
 
引用说明参考Oracle官方文档Java SE开发指南及OpenJDK社区实践,环境变量配置部分遵循各操作系统标准规范。
			
			
			
			
			
			
			
			