Ubuntu下Java项目依赖管理实践
一 环境准备
sudo apt update && sudo apt install openjdk-11-jdksudo apt install mavensudo apt install gradle,或参考官方文档进行手动安装以获得更新版本与更好可控性。二 使用Maven管理依赖
mvn archetype:generate -DgroupId=com.example -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false<project ...>
<modelVersion>4.0.0</modelVersion>
<groupId>com.example</groupId>
<artifactId>my-app</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13.2</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
mvn clean installmvn dependency:tree<exclusions> 排除传递依赖,或在 <dependencyManagement> 中统一版本。三 使用Gradle管理依赖
gradle init --type java-application(或使用 Gradle Wrapper:gradle wrapper 后使用 ./gradlew)plugins {
id 'java'
}
repositories {
mavenCentral()
}
dependencies {
testImplementation 'junit:junit:4.13.2'
}
gradle build 或 ./gradlew buildgradle dependencies 或 ./gradlew dependenciesconfigurations.all { resolutionStrategy { force 'group:artifact:version' } } 强制指定版本,或使用 dependencyUpdates 插件检查可升级依赖。四 依赖分析与冲突排查
mvn dependency:tree 输出依赖树,结合 <exclusions> 精细化剔除不需要的传递依赖。./gradlew dependencies 查看配置级别的依赖图,必要时用 resolutionStrategy.force 统一版本。<dependencyManagement> 集中版本;多模块/框架(如 Spring Boot)可通过 <type>pom</type> <scope>import</scope> 导入依赖 BOM,确保一致性。libs.versions.toml)或 ext 块集中管理版本,减少散落与漂移。五 其他可选方案与注意
sudo apt install libfoo-dev;不建议将系统库与项目依赖混用,优先通过构建工具从 Maven Central 拉取。mvn install:install-file -Dfile=path/to.jar -DgroupId=... -DartifactId=... -Dversion=... -Dpackaging=jar(Maven);Gradle 可使用 files('path') 或发布到私有仓库再依赖。