命令行运行Java程序是Java开发中的基础技能,掌握这一操作能帮助开发者更好地理解Java程序的执行流程,尤其在没有图形化IDE的环境下,命令行工具依然能高效完成编译、运行等任务,以下是详细的操作步骤和注意事项,包含环境配置、编译、运行及常见问题解决。

环境准备:安装JDK与配置环境变量
在命令行运行Java程序前,需确保系统已安装Java开发工具包(JDK),并正确配置环境变量,JDK包含Java编译器(javac)和Java虚拟机(java),二者是执行Java程序的核心工具。
- 安装JDK:从Oracle官网或OpenJDK下载对应操作系统的JDK版本(如JDK 17),并完成安装。
- 配置环境变量:
- Windows:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中新建
JAVA_HOME
,值为JDK安装路径(如C:\Program Files\Java\jdk-17
);在Path
变量中添加%JAVA_HOME%\bin
。 - macOS/Linux:打开终端,编辑
~/.bash_profile
或~/.zshrc
文件,添加export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
和export PATH=$JAVA_HOME/bin:$PATH
,保存后执行source ~/.bash_profile
(或对应配置文件)使配置生效。
- Windows:右键“此电脑”→“属性”→“高级系统设置”→“环境变量”,在“系统变量”中新建
- 验证安装:在命令行输入
java -version
和javac -version
,若显示版本号(如java version "17.0.2"
),则表示配置成功。
编写Java源文件
使用任意文本编辑器(如记事本、VS Code)编写Java代码,保存为.java
文件(如HelloWorld.java
)。
public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, Command Line!"); } }
注意:文件名需与类名完全一致(如类名为HelloWorld
,文件名必须为HelloWorld.java
),且代码需包含main
方法(程序入口)。
编译Java源文件
使用javac
命令将.java
源文件编译为.class
字节码文件,打开命令行,进入源文件所在目录,执行:

javac HelloWorld.java
若编译成功,当前目录会生成HelloWorld.class
文件,若出现“‘javac’不是内部或外部命令”错误,需检查环境变量配置是否正确。
运行Java程序
使用java
命令运行编译后的.class
文件,注意此处不加.class
后缀:
java HelloWorld
程序输出结果为:Hello, Command Line!
常见错误:
- 报错
Error: Could not find or load main class HelloWorld
:可能原因包括类名与文件名不一致、未在正确目录执行命令,或类路径配置错误(可通过java -cp . HelloWorld
指定当前目录为类路径)。 - 报错
UnsupportedClassVersionError
:JDK版本与编译时使用的JDK版本不一致,需统一JDK环境。
带包名的Java程序运行
若Java程序包含包名(如package com.example;
),需遵循包结构创建目录,并通过-cp
参数指定类路径。

- 源文件
com/example/HelloWorld.java
内容:package com.example; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello with Package!"); } }
- 在
com
的上级目录执行编译:javac com/example/HelloWorld.java
- 运行时需指定类路径:
java -cp . com.example.HelloWorld
命令行运行Java的常见参数
参数 | 作用 | 示例 |
---|---|---|
-cp 或 -classpath |
指定类搜索路径 | java -cp ./lib/* com.example.Main |
-jar |
运行JAR包 | java -app.jar |
-verbose |
输出详细类加载信息 | java -verbose HelloWorld |
-D |
设置系统属性 | java -Dfile.encoding=UTF-8 HelloWorld |
相关问答FAQs
Q1:为什么运行java HelloWorld
时提示“找不到主类”?
A:可能原因有三:① 文件名与类名不一致(如文件名为hello.java
但类名为HelloWorld
);② 未在.class
文件所在目录执行命令;③ 类包含包名但未正确使用-cp
参数,解决方法:检查文件名与类名是否匹配,确保在正确目录执行命令,或通过java -cp . 包名.类名
运行。
Q2:如何通过命令行运行带依赖的Java程序(如引用第三方JAR包)?
A:使用-cp
参数指定所有依赖JAR包的路径,若有lib/dependency.jar
,可执行:java -cp ".;lib/dependency.jar" com.example.Main
(Windows用分隔路径,Linux/macOS用),若依赖较多,可使用通配符(如-cp ".;lib/*"
)或构建工具(如Maven)管理依赖后生成可执行JAR包。