Debian的默认包管理器APT能自动解析和安装Java运行所需的依赖(如JRE/JDK、库文件)。操作步骤如下:

sudo apt updatesudo apt install openjdk-11-jdk# 安装JDK(包含javac编译器)# 或仅安装JRE(仅运行Java程序)sudo apt install openjdk-11-jrejava -version# 查看Java运行时版本javac -version # 查看Java编译器版本(若安装JDK)sudo apt --fix-broken install# 修复损坏的依赖关系sudo apt install -f# 同上,简化命令对于Java项目(如Spring Boot、Maven/Gradle工程),使用构建工具(Maven/Gradle)能更灵活地管理依赖,避免版本冲突。
sudo apt install mavenpom.xml文件中添加依赖(以JUnit 5为例):<dependencies><dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.9.0</version><scope>test</scope> <!-- 仅在测试时使用 --></dependency></dependencies>mvn install,Maven会自动从中央仓库下载并安装所有依赖到本地仓库(~/.m2/repository)。sudo apt install gradlebuild.gradle文件中添加依赖(以Apache Commons Codec为例):dependencies {implementation 'org.apache.commons:commons-codec:1.16.0' // 编译和运行时依赖testImplementation 'junit:junit:4.13.2' // 测试时依赖}gradle build,Gradle会将依赖下载到~/.gradle/caches/modules-2/files-2.1。若项目需要特定版本的Java(如Java 8、17),而APT仓库中没有所需版本,可手动下载并安装:
.tar.gz)。例如OpenJDK 11:wget https://github.com/adoptopenjdk/openjdk11-binaries/releases/download/jdk-11.0.20%2B8/OpenJDK11U-jdk_x64_linux_hotspot_11.0.20_8.tar.gz/usr/lib/jvm目录(系统Java安装路径):sudo mkdir -p /usr/lib/jvm# 若目录不存在则创建sudo tar -xzf OpenJDK11U-jdk_x64_linux_hotspot_11.0.20_8.tar.gz -C /usr/lib/jvmupdate-alternatives工具管理多版本Java,避免冲突:sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-11.0.20+8/bin/java 100# 注册Java可执行文件sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-11.0.20+8/bin/javac 100# 注册javac编译器sudo update-alternatives --config java# 交互式选择默认Java版本java -version,确认已切换至目标版本。依赖冲突(如不同库依赖同一组件的不同版本)是常见的问题,解决方法如下:
sudo apt install -fpom.xml中通过<exclusions>标签排除冲突的传递依赖。例如,排除log4j-core对log4j-api的依赖:<dependency><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-core</artifactId><version>2.20.0</version><exclusions><exclusion><groupId>org.apache.logging.log4j</groupId><artifactId>log4j-api</artifactId></exclusion></exclusions></dependency>build.gradle中通过exclude方法排除冲突依赖。例如:implementation('org.apache.logging.log4j:log4j-core:2.20.0') {exclude group: 'org.apache.logging.log4j', module: 'log4j-api'}jEnv(Linux/macOS)或SDKMAN(跨平台)切换默认版本,避免版本冲突。例如使用SDKMAN:sdk install java 11.0.20-open# 安装OpenJDK 11sdk use java 11.0.20-open# 切换至该版本/etc/environment、项目配置文件),防止误操作导致系统故障。/var/log/syslog、/var/log/apt/term.log)获取详细错误信息,有助于定位问题根源。