在 Debian 上进行 Java 代码编译与测试
一 安装与验证环境
- 更新索引并安装 JDK(两种常用方式,择一即可):
- 安装系统默认 JDK:sudo apt update && sudo apt install -y default-jdk
- 安装指定版本(如 OpenJDK 17):sudo apt install -y openjdk-17-jdk
- 验证安装结果:
- 查看运行时版本:java -version
- 查看编译器版本:javac -version
- 可选 设置 JAVA_HOME(便于构建工具识别):
- 写入全局环境:echo ‘JAVA_HOME=“/usr/lib/jvm/java-17-openjdk-amd64”’ | sudo tee -a /etc/environment
- 使配置生效:source /etc/environment
- 验证:echo $JAVA_HOME
- 如需在多个 JDK 间切换,可使用 alternatives:sudo update-alternatives --config java(按提示选择默认 java/javac)。
二 命令行编译与运行
- 单文件示例:
- 指定输出目录与类路径:
- 编译到 bin:javac -d bin HelloWorld.java
- 运行:java -cp bin HelloWorld
- 包结构源码编译与运行:
- 目录结构:src/com/example/HelloWorld.java
- 编译(在 src 目录执行):javac com/example/HelloWorld.java
- 运行:java com.example.HelloWorld
- 批量编译与常用选项:
- 批量:*javac -d bin .java
- 常用:-d 指定输出目录,-cp/-classpath 指定依赖类路径。
三 使用构建工具进行编译与测试
- Maven 快速开始:
- 安装:sudo apt install -y maven
- 交互生成项目:mvn archetype:generate -DgroupId=com.example -DartifactId=demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
- 进入项目:cd demo
- 运行测试:mvn test(自动编译并运行单元测试)
- 使用 JUnit 5(推荐):
- 在 pom.xml 添加依赖:
<dependencies>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.10.0</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.2.5</version>
</plugin>
</plugins>
</build>
- 测试类示例(src/test/java/com/example/HelloTest.java):
package com.example;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
class HelloTest {
@Test void hello() { assertEquals("Hello, JUnit 5", new Hello().greet()); }
}
- 运行:mvn test
- Gradle 快速开始(可选):
- 安装:sudo apt install -y gradle
- 初始化:gradle init --type java-application
- 在 build.gradle 添加 JUnit 5 依赖后执行:gradle test。
四 常见问题与排查
- 找不到或无法加载主类:
- 确认类文件在正确的包路径下;运行时使用全限定名(如:java com.example.HelloWorld)。
- 使用 -cp 指定类路径(如:java -cp bin com.example.HelloWorld)。
- 编译或运行版本不一致:
- 使用 java -version 与 javac -version 核对;必要时用 update-alternatives 切换默认版本。
- 环境变量问题:
- 若构建工具找不到 JDK,设置 JAVA_HOME 指向 /usr/lib/jvm/… 并确认 PATH 包含 $JAVA_HOME/bin。