商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 如何在Debian上进行Java代码编译测试

如何在Debian上进行Java代码编译测试

  发布于2026-07-17 阅读(0)

扫一扫,手机访问

在 Debian 上搞 Ja va 编译测试,这事儿到底怎么整?别急,这篇文章从环境搭建到构建工具,一次性说清楚。

如何在Debian上进行Ja va代码编译测试

先把环境搭好:JDK 安装与验证

万事开头难,但装JDK在Debian上其实很简单,两条路子随你挑。

  • 一条是省心路,直接装系统默认的JDK:
    sudo apt update && sudo apt install -y default-jdk
  • 另一条是精确控制,指定版本,比如眼下主流的OpenJDK 17:
    sudo apt install -y openjdk-17-jdk

装完别急着走,得验证一下,确保装到位了:

  • 看运行时:ja va -version
  • 看编译器:ja vac -version

有些构建工具(比如Ma ven、Gradle)特别依赖一个叫 JA VA_HOME 的环境变量,最好给它设置好:

  • 写进全局配置:echo 'JA VA_HOME="/usr/lib/jvm/ja va-17-openjdk-amd64"' | sudo tee -a /etc/environment
  • 让它生效:source /etc/environment
  • 再验证下:echo $JA VA_HOME

如果机器上装了多个JDK版本,需要来回切换也很简单,用 update-alternatives 这个工具:
sudo update-alternatives --config ja va 按屏幕上的提示,选你想要的版本作为默认的ja va和ja vac就行。

手动编译与运行:命令行实战

工具再好,命令行基础不能丢。先从最简单的单文件说起。

单文件编译,Hello, World!

写个最经典的例子:

// 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 目录下:

  • 编译输出到 bin:ja vac -d bin HelloWorld.ja va
  • 运行时指定类路径:ja va -cp bin HelloWorld

处理包结构

实际项目都有包名,目录结构要对应好。比如源码在 src/com/example/HelloWorld.ja va

  • src 目录下编译:ja vac com/example/HelloWorld.ja va
  • 运行时得用全限定名:ja va com.example.HelloWorld

批量编译与常用选项

要编译当前目录下所有 .ja va 文件,可以用通配符:
ja vac -d bin *.ja va
常用选项要记住:-d 指定输出目录,-cp-classpath 指定依赖路径。

升级生产力:用构建工具自动编译与测试

手动敲命令只适合练手或极小的项目。真正的项目,还是交给Ma ven或Gradle吧。

Ma ven 快速起步

安装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

拥抱 JUnit 5

这是现代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 快速开始

如果你想试试另一个主流的构建工具,Gradle也是个好选择。

  • 安装:sudo apt install -y gradle
  • 初始化一个Ja va应用项目:gradle init --type ja va-application
  • build.gradle 里加上JUnit 5的依赖后,执行:gradle test

翻车现场:常见问题与排查思路

环境搭好了,代码写了,但一跑就报错?别急,这些情况很常见。

“找不到或无法加载主类”

这通常是两个原因:

  • 类文件没在正确的包路径下,或者运行时的类名用错了。运行时一定要用全限定名,比如 ja va com.example.HelloWorld
  • 类路径(-cp)没指定对。确保 -cp 指向了包含 .class 文件的根目录,比如 ja va -cp bin com.example.HelloWorld

编译或运行版本不一致

有时候你编译用的JDK是17,但运行环境可能默认指向了11,这就会出问题。用 ja va -versionja vac -version 核对一下。如果版本对不上,用前面提到的 update-alternatives 命令切换默认版本。

环境变量问题

如果Ma ven或Gradle报错说找不到JDK,十有八九是 JA VA_HOME 没设对,或者根本没设。把它指向 /usr/lib/jvm/... 下的对应JDK目录,同时确认 PATH 环境变量里包含了 $JA VA_HOME/bin

本文转载于:https://www.yisu.com/ask/45682271.html 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注