温馨提示×

Debian下Java编译依赖怎么管理

小樊
35
2026-01-01 15:12:03
栏目: 编程语言

Debian下Java编译依赖管理

一 环境准备

  • 安装 JDK(以 OpenJDK 11 为例):sudo apt update && sudo apt install openjdk-11-jdk;验证:java -version、javac -version。
  • 可选配置 JAVA_HOME(便于统一工具链):编辑 /etc/environment,加入 JAVA_HOME=“/usr/lib/jvm/java-11-openjdk-amd64”,执行 source /etc/environment 后验证 echo $JAVA_HOME。
  • 多版本切换可用:sudo update-alternatives --config java
  • 安装构建工具(按需其一或多种):sudo apt install maven / gradle / sbt

二 使用构建工具管理依赖

  • 推荐在现代 Java 项目中使用 MavenGradle 统一管理编译期与运行期依赖,构建时自动解析并下载到本地仓库。
  • Maven
    • 安装:sudo apt install maven。
    • 关键文件:pom.xml 中声明依赖与编译参数(如 maven.compiler.source/target)。
    • 常用命令:mvn compile、mvn package;依赖会在构建时自动拉取。
  • Gradle
    • 安装:sudo apt install gradle。
    • 关键文件:build.gradle 中声明依赖(如 implementation)。
    • 常用命令:gradle build;依赖会在构建时自动解析。
  • 多项目/多语言场景可选 SBT(适合 Java + Scala 混合项目)。

三 无构建工具的手动方式

  • 将第三方 JAR 放入项目 lib/ 目录,编译与运行通过 -cp 指定类路径:
    • 编译:javac -cp “.:lib/*” src/com/example/Hello.java(Linux/macOS 用 :;Windows 用 ;)。
    • 运行:java -cp “.:lib/*” com.example.Hello。
  • 适合小型样例或学习用途;中大型项目强烈建议使用 Maven/Gradle

四 使用Debian系统库与打包发布

  • 使用系统库:部分 Java 库在 APT 中也有打包,可用 apt search/apt install 安装;适合需要与系统其他组件一致性与可复现构建的场景。
  • 打包可执行 JAR:
    • Maven 使用 maven-assembly-plugin 生成“带依赖”的可执行 JAR(配置 manifest 的 Main-Class,执行 mvn clean package)。
    • Gradle 使用 shadowJar 插件生成“胖 JAR”(配置 manifest 的 Main-Class,执行 gradle shadowJar)。
  • 产物通常位于:Maven 的 target/,Gradle 的 build/libs/

五 常见问题与排查

  • 依赖解析失败或构建缓慢:确认网络可访问仓库,必要时配置镜像源;定期更新依赖版本以避免安全与兼容性问题。
  • 多 JDK 并存导致版本错乱:用 update-alternatives --config java 统一默认版本,或在构建工具中显式设置 source/target。
  • 系统级库与构建工具依赖冲突:优先使用构建工具管理依赖;若必须使用系统库,注意版本对齐与冲突排查。
  • 构建环境不一致:在 CI/团队环境中固定 JDK 版本 与构建工具版本,确保 reproducible build。

0