- 在 Eclipse 内部执行和调试命令行程序:这是最常见的需求,比如你的 Java 程序需要接收用户从命令行输入的参数。
- 完全脱离 Eclipse,使用系统命令行(Terminal/PowerShell)来编译和运行 Java 代码:这有助于理解 Java 的工作原理,并在没有 IDE 的环境中工作。
在 Eclipse 内部执行和调试命令行程序
当你在 Eclipse 中运行一个 Java 应用程序时,Eclipse 实际上是在后台调用 Java 虚拟机,你可以配置它如何调用,特别是如何传递命令行参数。

传递命令行参数
如果你的 main 方法需要接收参数(public static void main(String[] args)),你可以通过以下方式在 Eclipse 中传入这些参数。
步骤:
-
打开运行配置:
- 在 Eclipse 菜单栏中,选择
Run->Run Configurations...。 - 或者,在你的 Java 文件中,右键点击,选择
Run As->Run Configurations...。
- 在 Eclipse 菜单栏中,选择
-
选择或创建配置:
(图片来源网络,侵删)- 在左侧的 "Configurations" 列表中,找到并展开
Java Application。 - 你会看到所有已经创建的运行配置,它会自动为你当前选中的 Java 文件创建一个配置(
你的类名)。 - 如果没有,可以右键点击
Java Application,选择New来创建一个新的。
- 在左侧的 "Configurations" 列表中,找到并展开
-
配置参数:
- 选中你想要配置的运行项。
- 切换到右侧的
Arguments(参数) 选项卡。 - 在
Program arguments(程序参数) 文本框中,输入你想要传递的参数。 - 多个参数之间用空格隔开,如果你的参数本身包含空格,需要用双引号 括起来。
示例:
-Dfile.encoding=UTF-8 input.txt output.txt -
应用并运行:
- 点击
Apply(应用) 保存配置。 - 点击
Run(运行) 执行程序。
- 点击
示例代码:

创建一个 CommandLineArgsDemo.java 文件:
public class CommandLineArgsDemo {
public static void main(String[] args) {
System.out.println("参数个数: " + args.length);
// 遍历并打印所有参数
for (int i = 0; i < args.length; i++) {
System.out.println("参数 " + (i + 1) + ": " + args[i]);
}
// 演示使用系统属性
String encoding = System.getProperty("file.encoding");
System.out.println("系统文件编码: " + encoding);
}
}
运行方式:
- 在
Program arguments中输入:你好 "世界.txt" 123 - 运行结果将会是:
参数个数: 3 参数 1: 你好 参数 2: 世界.txt 参数 3: 123 系统文件编码: UTF-8
配置 VM 参数
VM (Virtual Machine) 参数是传递给 Java 虚拟机本身的,而不是你的程序,例如设置堆内存大小、系统属性等。
步骤:
- 同样地,打开
Run Configurations...。 - 选中你的 Java 运行配置。
- 切换到
Arguments(参数) 选项卡。 - 在
VM arguments(虚拟机参数) 文本框中输入参数。
常用 VM 参数示例:
- 设置堆内存大小:
- 初始堆内存:
-Xms256m - 最大堆内存:
-Xmx1024m - 在
VM arguments中输入:-Xms256m -Xmx1024m
- 初始堆内存:
- 设置系统属性:
-D用来设置一个系统属性,设置一个自定义的配置文件路径:-Dmyapp.config.path=/path/to/config- 在
VM arguments中输入:-Dfile.encoding=UTF-8 -Dmyapp.version=1.0
使用系统命令行编译和运行 Java 代码
这个场景帮助你理解 Eclipse 在后台做了什么,你需要先安装好 JDK,并配置好 JAVA_HOME 和 PATH 环境变量。
编译 Java 源文件
使用 javac 命令。
- 命令格式:
javac <你的文件名.java> - 示例:
- 打开你的终端(Windows上是
cmd或PowerShell,macOS/Linux上是Terminal)。 - 使用
cd命令切换到你的.java文件所在的目录。 - 运行命令:
javac CommandLineArgsDemo.java - 如果没有错误,你会发现目录下多了一个
CommandLineArgsDemo.class文件,这是 Java 字节码文件。
- 打开你的终端(Windows上是
运行 Java 字节码
使用 java 命令。
- 命令格式:
java <你的类名>(注意:不带.class后缀) - 传递参数:在类名后面,空格隔开,直接跟上参数。
- 示例:
- 确保你还在
.class文件所在的目录。 - 运行命令并传入参数:
java CommandLineArgsDemo 你好 "世界.txt" 123
- 运行结果和你在 Eclipse 中配置后运行的结果完全一样。
- 确保你还在
在命令行中设置 VM 参数
VM 参数跟在 java 命令后面,类名前面。
- 命令格式:
java <VM参数> <你的类名> <程序参数> - 示例:
java -Xms256m -Xmx1024m -Dfile.encoding=UTF-8 CommandLineArgsDemo 你好 "世界.txt" 123
常见问题与技巧
如何找到 java.exe 和 javac.exe 的路径?
-
在 Windows 上:
- 打开命令提示符。
- 输入
where java和where javac,它会显示这些命令的完整路径。 - 输出可能是
C:\Program Files\Java\jdk-17.0.2\bin\java.exe,这告诉你 JDK 安装在C:\Program Files\Java\jdk-17.0.2\。
-
在 macOS/Linux 上:
- 打开终端。
- 输入
which java和which javac。 - 输出可能是
/usr/bin/java,这通常是一个软链接,指向你实际安装的 JDK 目录。
java 命令提示 "不是内部或外部命令..."怎么办?
这通常意味着你的系统 PATH 环境变量没有正确配置,操作系统找不到 java.exe 和 javac.exe。
- 解决方法:
- 找到你的 JDK 安装目录下的
bin文件夹(C:\Program Files\Java\jdk-17.0.2\bin)。 - 将这个路径添加到系统的
PATH环境变量中。
- Windows 10/11: 搜索 "编辑系统环境变量" -> "环境变量..." -> 在 "系统变量" 中找到
Path-> "编辑" -> "新建" -> 粘贴你的 JDKbin路径。 - macOS/Linux: 在你的 shell 配置文件(如
~/.zshrc或~/.bash_profile)中添加一行:export PATH="$PATH:/path/to/your/jdk/bin",source该文件使其生效。
- 找到你的 JDK 安装目录下的
如何在 Eclipse 中查看完整的命令行?
Eclipse 在后台执行命令时,会生成一个完整的命令字符串,你可以看到它来学习。
- 步骤:
- 打开
Run Configurations...。 - 选中你的配置。
- 切换到
Common(通用) 选项卡。 - 勾选
Display command line(显示命令行) 选项。 - 点击
Apply和Run。 - Eclipse 的 "Console" (控制台) 视图会首先打印出它将要执行的完整命令,然后再运行程序并显示输出。
- 打开
| 功能 | Eclipse 内部操作 | 系统命令行操作 |
|---|---|---|
| 编译 | 自动完成(保存时或运行时) | javac YourFile.java |
| 运行 | 点击 "Run" 按钮 | java YourClassName |
| 传递程序参数 | Run Configurations -> Arguments -> Program arguments |
在 java 命令后直接添加参数 |
| 设置VM参数 | Run Configurations -> Arguments -> VM arguments |
在 java 命令后、类名前添加参数,如 -Xmx512m |
| 查看完整命令 | Run Configurations -> Common -> 勾选 Display command line |
N/A (命令本身就是完整的) |
掌握这两种方式,能让你既享受 Eclipse 带来的便利,又深刻理解 Java 程序从源码到执行的完整过程。
