温馨提示×

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

小樊
44
2025-12-07 01:53:56
栏目: 编程语言

在 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)。

二 命令行编译与运行

  • 单文件示例:
    • 创建源码:vim HelloWorld.java
      public class HelloWorld {
          public static void main(String[] args) {
              System.out.println("Hello, World!");
          }
      }
      
    • 编译:javac HelloWorld.java
    • 运行:java HelloWorld
  • 指定输出目录与类路径:
    • 编译到 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 -versionjavac -version 核对;必要时用 update-alternatives 切换默认版本。
  • 环境变量问题:
    • 若构建工具找不到 JDK,设置 JAVA_HOME 指向 /usr/lib/jvm/… 并确认 PATH 包含 $JAVA_HOME/bin

0