很多人第一次在 Ubuntu 上跑 Java,卡住的并不是语法,而是环境、编译命令和测试流程到底该怎么串起来。本文按“安装 JDK、验证命令、编译运行示例、接入 Maven 与 JUnit 测试”四步展开,你不仅能跑通一个最小 HelloWorld,还能判断当前机器是否已经具备继续做 Java 项目的基础条件。
先安装 OpenJDK 11
如果系统里还没有 Java 开发环境,第一步就是安装 JDK。原文给出的版本是 OpenJDK 11,在 Ubuntu 里可以直接通过 apt 安装:
sudo apt update
sudo apt install openjdk-11-jdk
这一步完成后,系统会同时具备运行 Java 程序和编译 Java 源码所需的核心工具。
确认 Java 和 javac 都可用
安装完成后,不要急着写代码,先检查运行环境是否已经生效。这里要分别确认 Java 运行命令和编译命令都能正常调用:

java -version
javac -version
如果两个命令都能返回版本信息,说明当前终端已经识别到 Java 环境。对初学者来说,这一步很关键,因为很多“编译失败”问题其实都出在环境没装好,或者只装了运行时却没有编译器。
创建、编译并运行 HelloWorld
先创建源代码文件
接下来新建一个最小可运行的 Java 文件,比如 HelloWorld.java。可以直接用终端编辑器创建:

vim HelloWorld.java
文件内容如下:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
保存退出后,就可以进入编译阶段。
使用 javac 编译源码
在源文件所在目录执行:
javac HelloWorld.java
如果编译成功,当前目录下会生成一个 HelloWorld.class 文件。这个文件就是 Java 源码编译后的字节码,也是后续运行程序时真正会被 JVM 加载的内容。
再用 java 运行程序
编译完成后,运行命令如下:
java HelloWorld
终端输出应为:
Hello, World!
看到这行输出,说明你的 Ubuntu 环境已经完成了最基本的 Java 编译与执行验证。
需要进一步测试时:接入 Maven 和 JUnit
如果只是验证环境,跑通 HelloWorld 已经足够;但如果你还想确认项目依赖管理和单元测试链路也没有问题,就可以继续加入 Maven 与 JUnit。

先安装 Maven
Maven 负责依赖管理和测试执行,安装命令如下:
sudo apt install maven
在 pom.xml 中加入 JUnit 依赖
然后在项目根目录创建 pom.xml,加入原文中的 JUnit 依赖配置:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
这里保留的是 JUnit 4.13.2 配置,适合做最基础的测试链路验证。
编写测试类并执行 mvn test
接着创建测试类 HelloWorldTest.java:
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class HelloWorldTest {
@Test
public void testHelloWorld() {
assertEquals("Hello, World!", new HelloWorld().getMessage());
}
}
然后执行:
mvn test
测试通过后,会看到类似下面的输出:
[INFO] -------------------------------------------------------
[INFO] T E S T S
[INFO] -------------------------------------------------------
[INFO] Running HelloWorldTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.056 s - in HelloWorldTest
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.345 s
[INFO] Finished at: 2022-01-01T00:00:00+00:00
[INFO] ------------------------------------------------------------------------
从输出看,测试共执行了 1 项,失败数、错误数和跳过数都为 0,并且最终显示 BUILD SUCCESS。这说明 Maven、JUnit 依赖下载以及测试执行流程都已经打通。
不过这里也要注意一个实际问题:前面的 HelloWorld.java 示例只有 main 方法,并没有 getMessage() 方法;而测试类里调用了 new HelloWorld().getMessage()。也就是说,如果你完全照着原始示例写,测试代码还需要补齐对应方法,或者调整断言目标,否则测试类本身会先因为方法不存在而无法通过编译。
跑通之后,你实际验证了什么
完成以上步骤后,你已经验证了几件关键事情:Ubuntu 可以正确安装并识别 OpenJDK 11,java 与 javac 命令可正常使用,源码能够编译成 .class 文件,程序能在 JVM 中运行;如果 Maven 测试也通过,还说明依赖管理与基础单元测试链路也能工作。
对于刚开始接触 Java 或刚换到 Ubuntu 开发环境的用户来说,这套流程就是最直接的自检方法。后续即便进入更复杂的项目,排查问题时也可以先回到这条最小路径,确认问题究竟出在环境、构建配置,还是业务代码本身。









