发布于2026-07-17 阅读(0)
扫一扫,手机访问
在 Debian 上搞 Ja va 编译测试,这事儿到底怎么整?别急,这篇文章从环境搭建到构建工具,一次性说清楚。

万事开头难,但装JDK在Debian上其实很简单,两条路子随你挑。
sudo apt update && sudo apt install -y default-jdksudo apt install -y openjdk-17-jdk装完别急着走,得验证一下,确保装到位了:
ja va -versionja vac -version有些构建工具(比如Ma ven、Gradle)特别依赖一个叫 JA VA_HOME 的环境变量,最好给它设置好:
echo 'JA VA_HOME="/usr/lib/jvm/ja va-17-openjdk-amd64"' | sudo tee -a /etc/environmentsource /etc/environmentecho $JA VA_HOME如果机器上装了多个JDK版本,需要来回切换也很简单,用 update-alternatives 这个工具:
sudo update-alternatives --config ja va
按屏幕上的提示,选你想要的版本作为默认的ja va和ja vac就行。
工具再好,命令行基础不能丢。先从最简单的单文件说起。
写个最经典的例子:
// HelloWorld.ja va
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
编译一步到位:ja vac HelloWorld.ja va
运行也简单:ja va HelloWorld
项目一大,编译出来的 .class 文件就不能乱放了。通常会把它们集中到 bin 目录下:
ja vac -d bin HelloWorld.ja vaja va -cp bin HelloWorld实际项目都有包名,目录结构要对应好。比如源码在 src/com/example/HelloWorld.ja va:
src 目录下编译:ja vac com/example/HelloWorld.ja vaja va com.example.HelloWorld要编译当前目录下所有 .ja va 文件,可以用通配符:
ja vac -d bin *.ja va
常用选项要记住:-d 指定输出目录,-cp 或 -classpath 指定依赖路径。
手动敲命令只适合练手或极小的项目。真正的项目,还是交给Ma ven或Gradle吧。
安装Ma ven:sudo apt install -y ma ven
一键生成项目骨架:
mvn archetype:generate \
-DgroupId=com.example \
-DartifactId=demo \
-DarchetypeArtifactId=ma ven-archetype-quickstart \
-DinteractiveMode=false
进入项目目录:cd demo
执行测试(Ma ven会自动编译并运行单元测试):mvn test
这是现代Ja va项目的标配。首先在 pom.xml 里添加上JUnit 5相关的依赖和Surefire插件:
org.junit.jupiter
junit-jupiter-api
5.10.0
test
org.junit.jupiter
junit-jupiter-engine
5.10.0
test
org.apache.ma ven.plugins
ma ven-surefire-plugin
3.2.5
然后写个测试类,比如 src/test/ja va/com/example/HelloTest.ja va:
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 gradlegradle init --type ja va-applicationbuild.gradle 里加上JUnit 5的依赖后,执行:gradle test环境搭好了,代码写了,但一跑就报错?别急,这些情况很常见。
这通常是两个原因:
ja va com.example.HelloWorld。-cp 指向了包含 .class 文件的根目录,比如 ja va -cp bin com.example.HelloWorld。有时候你编译用的JDK是17,但运行环境可能默认指向了11,这就会出问题。用 ja va -version 和 ja vac -version 核对一下。如果版本对不上,用前面提到的 update-alternatives 命令切换默认版本。
如果Ma ven或Gradle报错说找不到JDK,十有八九是 JA VA_HOME 没设对,或者根本没设。把它指向 /usr/lib/jvm/... 下的对应JDK目录,同时确认 PATH 环境变量里包含了 $JA VA_HOME/bin。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8