SonarQube自定义插件Maven构建依赖解析失败求助
解决SonarQube自定义插件Maven构建依赖解析失败问题
问题核心
开发SonarQube 10.7.0自定义外部插件时,执行mvn install报错无法解析sonar-api、sonar-plugin-api等依赖,错误提示无法识别proxy.example.com主机。环境配置:SonarQube 10.7.0.96327、JDK 17.0.12、Maven 3.9.9、Eclipse 2024-09。
排查与解决步骤
1. 修正Maven代理配置
错误指向代理主机无法识别,优先检查settings.xml的代理配置:
- 如果你的网络无需代理:直接注释或删除
<proxy>节点,示例:<!-- <proxy> <id>example-proxy</id> <active>true</active> <protocol>http</protocol> <host>proxy.example.com</host> <port>8080</port> </proxy> --> - 如果需要代理:
- 确认
proxy.example.com是真实可用的代理服务器,检查拼写是否有误 - 添加Sonar相关仓库到非代理白名单,避免代理拦截:
<proxy> <id>example-proxy</id> <active>true</active> <protocol>http</protocol> <host>你的真实代理主机</host> <port>你的代理端口</port> <nonProxyHosts>repo1.maven.org|repo.sonarsource.com|localhost|127.0.0.1</nonProxyHosts> </proxy>
- 确认
2. 确保pom.xml仓库与依赖版本正确
- 添加Sonar官方仓库和Maven中央仓库到pom.xml,确保依赖能被拉取:
<repositories> <repository> <id>central</id> <url>https://repo1.maven.org/maven2/</url> </repository> <repository> <id>sonar-public</id> <url>https://repo.sonarsource.com/public/</url> </repository> </repositories> - 确认依赖版本与SonarQube版本完全匹配(10.7.0.96327),示例:
<dependency> <groupId>org.sonarsource.sonarqube</groupId> <artifactId>sonar-plugin-api</artifactId> <version>10.7.0.96327</version> <scope>provided</scope> </dependency>
3. 验证网络连通性
- 打开命令行执行
ping proxy.example.com,如果无法解析IP,说明代理主机不存在或本地DNS配置异常,需联系运维修正网络配置 - 临时跳过代理测试构建:执行
mvn install -Dmaven.proxy.enabled=false,如果构建成功,说明问题确实出在代理配置
4. 同步Eclipse网络配置
Eclipse的代理设置可能独立于Maven,需检查:
- 打开
Window > Preferences > General > Network Connections - 将
Active Provider设置为Direct(无需代理),或与settings.xml中的代理配置保持一致 - 重启Eclipse后重新执行构建
内容的提问来源于stack exchange,提问作者Darshan Salunke
相关产品推荐
相关产品推荐

