跳转至

从命令行运行 Java 程序

简介

在开发和运行 Java 程序时,我们通常会使用集成开发环境(IDE),如 IntelliJ IDEA、Eclipse 或 NetBeans 等。然而,了解如何从命令行运行 Java 程序是一项重要的技能,它能让我们更好地理解 Java 程序的运行机制,并且在一些没有 IDE 支持的环境中也能完成程序的运行和调试。本文将详细介绍从命令行运行 Java 程序的相关知识,包括基础概念、使用方法、常见实践以及最佳实践。

目录

  1. 基础概念
  2. 使用方法
    • 编写 Java 代码
    • 编译 Java 代码
    • 运行 Java 程序
  3. 常见实践
    • 处理多个类
    • 传递命令行参数
  4. 最佳实践
    • 设置环境变量
    • 项目结构管理
  5. 小结
  6. 参考资料

基础概念

Java 程序的运行依赖于 Java 开发工具包(JDK)。JDK 包含了 Java 编译器(javac)和 Java 虚拟机(JVM)。javac 用于将我们编写的 Java 源文件(.java 扩展名)编译成字节码文件(.class 扩展名),而 JVM 则负责执行这些字节码文件。

从命令行运行 Java 程序,本质上就是通过命令行工具调用 javac 进行编译,然后使用 java 命令启动 JVM 来执行编译后的字节码。

使用方法

编写 Java 代码

首先,我们需要编写一个简单的 Java 程序。使用文本编辑器(如 Notepad、Sublime Text 等)创建一个新的文件,命名为 HelloWorld.java,内容如下:

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

这段代码定义了一个名为 HelloWorld 的类,其中包含一个 main 方法。main 方法是 Java 程序的入口点,程序从这里开始执行。

编译 Java 代码

打开命令提示符(Windows)或终端(Linux、macOS)。进入到包含 HelloWorld.java 文件的目录。例如,如果文件存放在 C:\Users\YourName\JavaProjects 目录下,在命令提示符中输入:

cd C:\Users\YourName\JavaProjects

然后,使用 javac 命令进行编译:

javac HelloWorld.java

如果代码没有语法错误,编译过程会生成一个名为 HelloWorld.class 的字节码文件。

运行 Java 程序

编译完成后,使用 java 命令来运行程序:

java HelloWorld

你将在命令行中看到输出:

Hello, World!

常见实践

处理多个类

在实际项目中,一个 Java 程序通常会包含多个类。例如,我们有两个类 MainClassHelperClass

// MainClass.java
public class MainClass {
    public static void main(String[] args) {
        HelperClass helper = new HelperClass();
        helper.sayHello();
    }
}

// HelperClass.java
class HelperClass {
    public void sayHello() {
        System.out.println("Hello from HelperClass!");
    }
}

编译时,需要编译所有的 Java 文件:

javac MainClass.java HelperClass.java

运行时,只需要运行包含 main 方法的类:

java MainClass

输出结果为:

Hello from HelperClass!

传递命令行参数

main 方法中,args 参数用于接收命令行传递的参数。例如:

public class CommandLineArgs {
    public static void main(String[] args) {
        if (args.length > 0) {
            System.out.println("The first argument is: " + args[0]);
        } else {
            System.out.println("No arguments passed.");
        }
    }
}

编译:

javac CommandLineArgs.java

运行并传递参数:

java CommandLineArgs Hello

输出结果为:

The first argument is: Hello

最佳实践

设置环境变量

为了更方便地在命令行中使用 javacjava 命令,需要设置 PATH 环境变量,将 JDK 的 bin 目录添加到其中。在 Windows 中: 1. 右键点击“此电脑”,选择“属性”。 2. 点击“高级系统设置”。 3. 在“系统属性”窗口中,点击“环境变量”。 4. 在“系统变量”中找到“Path”,点击“编辑”。 5. 添加 JDK 的 bin 目录路径,例如 C:\Program Files\Java\jdk-11.0.10\bin

在 Linux 和 macOS 中,可以编辑 .bashrc.zshrc 文件,添加如下内容:

export PATH=/path/to/jdk/bin:$PATH

然后执行 source ~/.bashrcsource ~/.zshrc 使设置生效。

项目结构管理

对于较大的项目,合理的项目结构非常重要。通常可以按照以下方式组织:

project/
    src/
        com/
            example/
                MainClass.java
                HelperClass.java
    bin/

编译时,可以使用如下命令将编译后的 .class 文件输出到 bin 目录:

javac -d bin src/com/example/*.java

运行时:

java -cp bin com.example.MainClass

-d 选项指定编译后的文件输出目录,-cp 选项指定类路径。

小结

通过本文,我们详细了解了从命令行运行 Java 程序的相关知识。包括基础概念、具体的使用方法,如编写、编译和运行 Java 程序,以及在处理多个类和传递命令行参数方面的常见实践。同时,我们还介绍了设置环境变量和项目结构管理的最佳实践。掌握这些技能将有助于我们更好地理解 Java 程序的运行过程,并且在不同的开发环境中都能高效地进行 Java 开发和调试。

参考资料