升级开发环境后Gradle无法识别添加的Maven仓库,导致找不到com.commit451:PhotoView:1.2.4依赖
我之前也碰到过类似的Gradle版本升级后仓库配置失效的问题,结合你的场景来看,问题核心在于Gradle 8.x对仓库配置的严格规则,以及Cordova 12升级后构建逻辑的变化,以下是具体的解决步骤:
1. 调整仓库配置到Gradle 8.x认可的位置
Gradle 8.x不再推荐在模块级build.gradle中单独配置仓库,要求仓库配置统一放在根项目的全局配置块里。针对你的Cordova项目:
- 打开
platforms/android/build.gradle,找到allprojects节点,把你的Maven仓库添加进去:allprojects { repositories { google() mavenCentral() jcenter() // 注意:jcenter已归档,建议后续替换为mavenCentral maven { url = uri("https://repo.gradle.org/artifactory/remote-repos/") } } } - 不要直接修改
node_modules或plugins目录下的gradle文件,这些文件会在cordova prepare时被覆盖,白忙活一场。
2. 验证目标仓库是否真的包含所需依赖
先手动确认https://repo.gradle.org/artifactory/remote-repos/com/commit451/PhotoView/1.2.4/是否存在对应的.pom和.jar文件。如果这个仓库里根本没有该依赖,那再怎么配置也没用——你可能需要换一个包含该依赖的仓库,或者直接手动下载依赖包放到本地仓库。
3. 清理Gradle缓存,强制刷新依赖
Gradle会缓存旧的仓库索引和依赖信息,即使你修改了配置,缓存可能还在生效。执行以下命令清理缓存并重新构建:
cd platforms/android ./gradlew clean build --refresh-dependencies
4. 检查依赖坐标的拼写(容易忽略的细节)
看你的错误信息里是com.commit451:PhotoView:1.2.4,但注意你描述里有一处写的是com.comit451(少了一个'm'),如果插件的gradle文件里写错了坐标,那肯定找不到依赖。务必确认插件的依赖声明是正确的:
implementation 'com.commit451:PhotoView:1.2.4'
5. 用Cordova自定义配置持久化仓库设置
为了避免每次cordova prepare后丢失配置,你可以在项目根目录创建build-extras.gradle文件,添加仓库配置:
allprojects { repositories { maven { url = uri("https://repo.gradle.org/artifactory/remote-repos/") } } }
Cordova会自动加载这个文件里的配置,不用再手动修改自动生成的gradle文件。
如果以上步骤都试过还是不行,建议检查Gradle 8.x的兼容性文档,确认你的仓库配置是否符合新的规则——比如是否启用了严格模式限制仓库访问,或者是否有其他插件覆盖了仓库配置。
内容来源于stack exchange

