使用sbt创建Play Java项目遇repo1.maven.org连接拒绝问题求助
解决sbt创建Play Java项目时连接repo1.maven.org被拒绝的问题
针对你在Windows 10下用sbt 1.0.4创建Play Java项目遇到的连接拒绝问题,结合你的情况,我整理了几个可行的排查和解决步骤:
1. 确认代理配置是否正确生效
之前你配置了sbtconfig文件,但可能格式或位置不对导致没生效:
- 全局配置文件位置:如果是全局安装的sbt,
sbtconfig.txt在sbt安装目录\conf下;也可以在用户目录(C:\Users\你的用户名)下创建.sbt\1.0\global.sbt文件来配置代理。 - 正确的代理配置格式:
- 若用
global.sbt,添加以下代码(替换成你的代理信息):System.setProperty("http.proxyHost", "你的代理地址") System.setProperty("http.proxyPort", "代理端口") System.setProperty("https.proxyHost", "你的代理地址") System.setProperty("https.proxyPort", "代理端口") // 若代理需要账号密码,添加下面两行 // System.setProperty("http.proxyUser", "你的代理用户名") // System.setProperty("http.proxyPassword", "你的代理密码") - 若用
sbtconfig.txt,添加以下参数:-Dhttp.proxyHost=你的代理地址 -Dhttp.proxyPort=代理端口 -Dhttps.proxyHost=你的代理地址 -Dhttps.proxyPort=代理端口 // 若需要认证,添加 // -Dhttp.proxyUser=你的代理用户名 // -Dhttp.proxyPassword=你的代理密码
- 若用
- 配置完成后重启命令行窗口,执行
sbt about测试是否能正常连接仓库。
2. 排查网络与防火墙限制
- 先手动验证网络:打开浏览器访问
https://repo1.maven.org/maven2/,如果无法访问,说明是本地网络(比如公司防火墙、运营商限制)的问题,可尝试切换到手机热点测试。 - 检查Windows防火墙:临时关闭防火墙(仅测试用),再执行sbt命令,看是否能正常连接。如果关闭后正常,需要给sbt添加防火墙允许规则。
3. 替换为国内Maven镜像
如果官方仓库访问不稳定,可以换成国内镜像(比如阿里云):
- 在用户目录下新建
.sbt\repositories文件,内容如下:[repositories] local aliyun: https://maven.aliyun.com/repository/public central: https://repo1.maven.org/maven2/ - 这样sbt会优先从阿里云镜像拉取依赖,避免访问central仓库的网络问题。
4. 升级sbt版本
你当前用的sbt 1.0.4是比较旧的版本,可能存在网络相关的兼容性bug,建议升级到最新稳定版(比如1.9.x系列):
- 下载新版sbt并替换旧版本,重新执行
sbt new playframework/play-java-seed.g8命令。
5. 手动下载种子项目
如果以上方法都无效,可以直接获取种子项目的本地文件:
- 去GitHub找到
playframework/play-java-seed.g8项目,下载压缩包并解压到本地。 - 打开命令行进入解压后的目录,执行
sbt run即可启动项目。
内容的提问来源于stack exchange,提问作者Benj




