命令行运行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包。
文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/391906.html<
