You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Grails2.3.7依赖解析失败报308永久重定向错误如何解决

彻底解决Grails 2.3.7依赖下载308报错方案

根因说明

308报错核心是旧版Grails 2.3.7内置的grailsCentral()仓库默认使用HTTP地址,当前官方仓库已全线强制跳转HTTPS,同时你配置中使用的多个第三方HTTP仓库也都开启了强制HTTPS跳转,老版本依赖解析器不会自动跟进308跳转规则,直接导致依赖拉取失败。

分步修复步骤

  • 替换默认Grails中央仓库配置:删除原有grailsCentral()配置,替换为显式声明HTTPS地址的Grails插件仓库
  • 全量替换配置中的HTTP仓库为对应HTTPS地址,避免其他仓库也触发308跳转
  • 若替换后出现SSL握手报错,需将依赖站点的根证书导入JDK7的信任库(JDK7默认未包含部分新CA根证书)
  • 清理本地缓存后重新拉取依赖

调整后的正确BuildConfig.groovy仓库配置示例

repositories {
    inherits true // Whether to inherit repository definitions from plugins

    grailsPlugins()
    grailsHome()
    mavenLocal()
    // 替换原grailsCentral()为显式HTTPS地址的Grails插件仓库
    mavenRepo "https://repo.grails.org/grails/plugins-releases/"
    // mavenCentral()
    // mavenRepo "http://repository.codehaus.org"
    mavenRepo "https://maven.java.net/content/repositories/public/"
    // mavenRepo "http://repository.jboss.com/maven2/"
    mavenRepo "https://mavensync.zkoss.org/maven2"
    mavenRepo "https://repo1.maven.org/maven2/"
}

JDK7证书导入操作说明

如果调整仓库地址后出现SSL握手失败报错,执行以下操作:

  1. 导出repo.grails.org、repo1.maven.org等依赖站点的根证书文件
  2. 执行以下命令导入到JDK默认信任库,默认信任库密码为changeit
keytool -import -alias [自定义证书别名] -file [本地证书文件路径] -keystore $JAVA_HOME/jre/lib/security/cacerts
  1. 证书导入完成后,执行grails clean --refresh-dependencies即可正常拉取所有依赖

内容的提问来源于stack exchange,提问作者Maicon Mauricio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.09 22:15:03