Maven dependency:tree命令执行失败,无法生成依赖树
问题现象
运行mvn dependency:tree时,始终尝试下载maven-dependency-plugin插件但失败,无法生成依赖树,此前已执行mvn clean install。错误信息如下:
org.apache.maven.plugins:maven-dependency-plugin:2.9或其某一依赖无法被解析:无法读取org.apache.maven.plugins:maven-dependency-plugin:jar:2.9的构件描述符:无法从/向中央仓库传输构件org.apache.maven.plugins:maven-dependency-plugin:pom:2.9:传输对应pom文件失败:网络不可达
解决方案
检查网络连通性
确认当前网络能够访问Maven中央仓库的服务器,若处于公司内网环境,需确认是否需要通过代理访问外部网络。配置Maven代理(若需)
在Maven的settings.xml文件(通常位于~/.m2/settings.xml或MAVEN_HOME/conf/settings.xml)中添加代理配置:<proxies> <proxy> <id>example-proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> <!-- 若需要认证,添加以下内容 --> <username>proxyuser</username> <password>somepassword</password> <nonProxyHosts>www.google.com|*.example.com</nonProxyHosts> </proxy> </proxies>清理本地仓库缓存并强制更新
运行命令强制更新依赖并清理缓存:mvn clean install -U或者手动删除本地仓库中该插件的缓存目录(如
~/.m2/repository/org/apache/maven/plugins/maven-dependency-plugin/2.9),之后重新执行mvn dependency:tree。指定更高版本的dependency-plugin运行
避免使用可能存在网络或兼容性问题的旧版本插件,直接指定高版本运行命令:mvn org.apache.maven.plugins:maven-dependency-plugin:3.6.0:tree检查中央仓库镜像配置
确认settings.xml中的镜像配置未指向不可用的仓库,确保中央仓库的镜像地址正确可访问。
内容的提问来源于stack exchange,提问作者Eli Johnes

