温馨提示×

如何在Debian进行Java编译测试

小樊
35
2025-12-26 18:48:07
栏目: 编程语言

在 Debian 上进行 Java 编译与测试

一 准备环境

  • 更新软件源并安装 JDK(推荐 OpenJDK 1711):
    • 安装命令:sudo apt update && sudo apt install openjdk-17-jdk(或 openjdk-11-jdk)
    • 验证安装:java -version、javac -version
  • 可选:设置 JAVA_HOME(很多框架和工具依赖)
    • 查找路径:readlink -f /usr/bin/javac
    • 写入全局环境:echo ‘JAVA_HOME=“/usr/lib/jvm/java-17-openjdk-amd64”’ | sudo tee -a /etc/environment
    • 使生效:source /etc/environment
  • 可选:多版本切换
    • 交互选择:sudo update-alternatives --config java 与 sudo update-alternatives --config javac

二 命令行编译与运行

  • 单文件
    • 编译:javac HelloWorld.java
    • 运行:java HelloWorld(不要加 .class 后缀)
  • 指定输出目录与类路径
    • 编译到 bin:javac -d bin HelloWorld.java
    • 运行:java -cp bin HelloWorld
  • 多文件一起编译
    • javac File1.java File2.java File3.java
  • 小技巧
    • 查看 JDK 安装路径:readlink -f /usr/bin/javac
    • 查看类文件:ls -l .class 或 find . -name ".class"

三 使用构建工具进行单元测试

  • 使用 Maven
    • 安装:sudo apt install maven
    • 快速创建项目:mvn archetype:generate -DgroupId=com.example -DartifactId=demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
    • 运行测试:mvn test(报告位于 target/surefire-reports)
  • 使用 Gradle
    • 安装:sudo apt install gradle
    • 运行测试:gradle test
  • 常用测试框架
    • JUnit 5 示例依赖(Maven):
      • org.junit.jupiter:junit-jupiter-api:5.7.0(test)
      • org.junit.jupiter:junit-jupiter-engine:5.7.0(test)
    • 运行后在控制台查看结果,Maven 报告在 target/surefire-reports

四 常见问题与排查

  • 命令未找到
    • 确认已安装 JDK:sudo apt install openjdk-17-jdk
    • 检查可执行文件:which java、which javac
  • 版本不一致
    • 查看并切换:java -version、javac -version、sudo update-alternatives --config java
  • 类找不到
    • 使用 -cp 指定类路径:java -cp bin HelloWorld
    • 包结构需与目录一致,运行时使用全限定类名
  • 编码问题
    • 编译时显式指定:javac -encoding UTF-8 HelloWorld.java
  • 权限问题
    • 脚本需可执行:chmod +x build.sh

五 一键脚本示例

  • 保存为 build_and_run.sh
    • #!/bin/bash set -e javac -d bin HelloWorld.java java -cp bin HelloWorld
  • 赋予执行权限并运行
    • chmod +x build_and_run.sh
    • ./build_and_run.sh

0