跳转至

在命令提示符(CMD)中运行 Java 程序

简介

在软件开发过程中,了解如何在命令行环境中运行 Java 程序是一项基础且重要的技能。通过命令提示符(CMD)运行 Java 程序,开发者可以更深入地理解 Java 程序的编译和执行机制,同时也为自动化构建脚本和在服务器环境中部署 Java 应用程序奠定基础。本文将详细介绍在 CMD 中运行 Java 程序的相关知识,帮助读者掌握这一实用技能。

目录

  1. 基础概念
  2. 使用方法
    • 准备工作
    • 编写 Java 代码
    • 编译 Java 代码
    • 运行 Java 程序
  3. 常见实践
    • 运行带有包声明的 Java 程序
    • 传递命令行参数
  4. 最佳实践
    • 设置环境变量
    • 使用批处理文件简化操作
  5. 小结
  6. 参考资料

基础概念

Java 编译器(javac)

Java 编译器(javac)是 JDK(Java Development Kit)提供的工具,用于将 Java 源文件(.java)编译成字节码文件(.class)。字节码是一种中间表示形式,可在任何安装了 Java 虚拟机(JVM)的平台上运行。

Java 虚拟机(JVM)

Java 虚拟机(JVM)是 Java 程序的运行环境。它负责加载字节码文件,并将字节码解释或编译成本地机器码,从而在不同的操作系统上运行 Java 程序。

命令提示符(CMD)

命令提示符(CMD)是 Windows 操作系统提供的命令行界面,用户可以通过在其中输入命令来执行各种系统任务,包括编译和运行 Java 程序。

使用方法

准备工作

  1. 安装 JDK:首先需要从 Oracle 官方网站或其他可靠渠道下载并安装 Java Development Kit(JDK)。安装过程中请确保设置好 JDK 的安装路径。
  2. 配置环境变量:将 JDK 的 bin 目录添加到系统的 PATH 环境变量中。这样在命令提示符中就可以直接使用 javacjava 命令。具体步骤如下:
    • 在桌面上右键点击“此电脑”,选择“属性”。
    • 在弹出的窗口中点击“高级系统设置”。
    • 在“系统属性”窗口中,点击“环境变量”按钮。
    • 在“系统变量”区域找到“Path”变量,点击“编辑”。
    • 在弹出的“编辑环境变量”窗口中,点击“新建”,将 JDK 的 bin 目录路径添加进去(例如 C:\Program Files\Java\jdk-11.0.10\bin),然后点击“确定”保存设置。

编写 Java 代码

使用文本编辑器(如 Notepad、Sublime Text 等)编写一个简单的 Java 程序。以下是一个示例:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

将上述代码保存为 HelloWorld.java,注意文件名必须与类名(包括大小写)完全一致,且文件扩展名为 .java

编译 Java 代码

打开命令提示符(CMD),通过 cd 命令切换到保存 HelloWorld.java 文件的目录。例如,如果文件保存在 C:\Users\YourName\Documents 目录下,可以在 CMD 中输入:

cd C:\Users\YourName\Documents

然后输入编译命令:

javac HelloWorld.java

如果代码没有语法错误,编译成功后会在当前目录下生成一个 HelloWorld.class 文件,这就是编译后的字节码文件。

运行 Java 程序

在命令提示符中,输入运行命令:

java HelloWorld

注意这里不需要输入 .class 扩展名。运行结果将会在命令提示符中显示:

Hello, World!

常见实践

运行带有包声明的 Java 程序

当 Java 程序包含包声明时,运行方式会稍有不同。例如,有如下带有包声明的 Java 代码:

package com.example;

public class Greetings {
    public static void main(String[] args) {
        System.out.println("Greetings from the package!");
    }
}

将上述代码保存为 Greetings.java,并放在 src 目录下(目录结构为 src\com\example\Greetings.java)。

编译时,需要指定 -d 选项来指定生成的 .class 文件的输出目录:

javac -d. src\com\example\Greetings.java

这里的 -d. 表示将生成的 .class 文件输出到当前目录。编译成功后,会在当前目录下生成 com\example\Greetings.class 文件。

运行时,需要使用完整的包名来指定类:

java com.example.Greetings

传递命令行参数

Java 程序可以通过 main 方法的 args 参数接收命令行参数。以下是一个示例:

public class CommandLineArgs {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("The command line arguments are:");
            for (String arg : args) {
                System.out.println(arg);
            }
        } else {
            System.out.println("No command line arguments were provided.");
        }
    }
}

编译并运行该程序:

javac CommandLineArgs.java
java CommandLineArgs arg1 arg2 arg3

运行结果将输出传递的命令行参数:

The command line arguments are:
arg1
arg2
arg3

最佳实践

设置环境变量

除了将 JDK 的 bin 目录添加到 PATH 环境变量外,还可以设置 JAVA_HOME 环境变量,指向 JDK 的安装目录。这样在其他工具或脚本中可以更方便地引用 JDK。设置 JAVA_HOME 的步骤如下: 1. 在“系统变量”区域点击“新建”。 2. 在“变量名”中输入 JAVA_HOME,在“变量值”中输入 JDK 的安装目录(例如 C:\Program Files\Java\jdk-11.0.10)。 3. 点击“确定”保存设置。

使用批处理文件简化操作

为了简化编译和运行 Java 程序的过程,可以创建批处理文件(.bat)。例如,创建一个名为 runHelloWorld.bat 的批处理文件,内容如下:

@echo off
javac HelloWorld.java
if %errorlevel% equ 0 (
    java HelloWorld
)
pause

将该批处理文件保存到与 HelloWorld.java 相同的目录下,双击运行该批处理文件,即可完成编译和运行操作。

小结

通过本文的介绍,读者应该已经掌握了在命令提示符(CMD)中运行 Java 程序的基本方法、常见实践和最佳实践。从基础概念的理解到实际代码的编译与运行,再到处理复杂情况和优化操作流程,希望这些知识能够帮助读者更好地使用 Java 开发工具,提升开发效率。

参考资料

  • 《Effective Java》,作者:Joshua Bloch
  • 《Java 核心技术》,作者:Cay S. Horstmann、Gary Cornell