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

使用Activator启动Play服务器时遇HTTP仓库访问拒绝,需改用HTTPS

Play服务器启动依赖解析问题:HTTP连接被拒绝,期望使用HTTPS

启动命令

我使用以下命令启动Play服务器:

activator -Dconfig.file=conf/prod.conf -Dhttp.port=9006 -Dhttps.port=9007 -jvm-debug 5005 run

错误日志

服务器启动后出现连接拒绝错误,关键日志片段如下:

[info] Set current project to ofe (in build file:/Users/shiva/br/work/src/analytics/frontend/ui/)
[info] Updating {file:/Users/shiva/br/work/src/analytics/frontend/ui/}ofe...
[info] Resolving com.typesafe.play#play-jdbc_2.10;2.2.0 ...
[error] Server access Error: Connection refused url=http://repo.typesafe.com/typesafe/releases/com/typesafe/play/play-jdbc_2.10/2.2.0/play-jdbc_2.10-2.2.0.pom
[error] Server access Error: Connection refused url=http://repo.typesafe.com/typesafe/releases/com/typesafe/play/play-jdbc_2.10/2.2.0/play-jdbc_2.10-2.2.0.jar
[info] Resolving com.jolbox#bonecp-parent;0.8.0-rc1 ...
[error] Server access Error: Connection refused url=http://repo.typesafe.com/typesafe/releases/com/jolbox/bonecp-parent/0.8.0-rc1/bonecp-parent-0.8.0-rc1.jar
[error] Server access Error: Connection refused url=http://repo.typesafe.com/typesafe/releases/com/jolbox/bonecp-parent/0.8.0-rc1/bonecp-parent-0.8.0-rc1.jar
[info] Resolving com.typesafe.play#play-java_2.10;2.2.0 ...
[error] Server access Error: Connection refused url=http://repo.typesafe.com/typesafe/releases/com/typesafe/play/play-java_2.10/2.2.0/play-java_2.10-2.2.0.pom
[error] Server access Error: Connection refused url=http://repo.typesafe.com/typesafe/releases/com/typesafe/play/play-java_2.10/2.2.0/play-java_2.10-2.2.0.jar
...

项目配置文件内容

build.sbt

libraryDependencies ++= Seq(
  javaJdbc,
  javaEbean,
  cache,
  "com.google.inject" % "guice" % "3.0"
)

resolvers += "Maven Central Server" at "https://repo1.maven.org/maven2"

resolvers += "Typesafe Server" at "https://repo.typesafe.com/typesafe/releases"

play.Project.playJavaSettings

seq(copyViewsSettings:_*)

project/plugins.sbt

// Comment to get more information during initialization
logLevel := Level.Warn

// The Typesafe repository
resolvers ++= Seq(
  "Typesafe repository" at "https://repo.typesafe.com/typesafe/releases/",
  "Maven Repo" at  "https://repo1.maven.org/maven2/"
)

// Use the Play sbt plugin for Play projects
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.2.0")

addSbtPlugin("com.typesafe.sbt" % "sbt-web" % "1.1.0")

环境信息与问题

  • 使用sbt版本:0.13.18
  • 已清理~/.ivy2/cache目录
  • 问题:明明在配置中指定使用HTTPS地址https://repo.typesafe.com解析依赖,但实际启动时却尝试访问HTTP地址,导致连接拒绝。

解决方法

1. 强制全局/项目级仓库使用HTTPS

创建或修改sbt仓库配置文件:

  • 全局生效:在用户目录下创建~/.sbt/repositories文件
  • 仅当前项目生效:在项目根目录的project文件夹下创建repositories文件

文件内容如下:

[repositories]
local
maven-central
typesafe-releases: https://repo.typesafe.com/typesafe/releases
typesafe-ivy-releases: https://repo.typesafe.com/typesafe/ivy-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]

该配置会强制sbt使用HTTPS的Typesafe仓库,覆盖默认的HTTP配置。

2. 替换默认仓库列表

Play 2.2.x可能内置了HTTP的Typesafe仓库地址,会覆盖你追加的配置。修改build.sbt中的仓库配置,用:=完全替换默认列表:

resolvers := Seq(
  "Maven Central Server" at "https://repo1.maven.org/maven2",
  "Typesafe Server" at "https://repo.typesafe.com/typesafe/releases"
)

注意:使用:=会清空所有默认仓库,只保留你指定的仓库;如果需要保留其他默认仓库,需手动添加。

3. 排查网络/代理问题

  • 如果使用代理服务器,检查代理是否支持HTTPS访问,或者是否存在将HTTPS重定向到HTTP的规则
  • 尝试关闭代理后重新运行启动命令
  • 若需要代理,在启动命令中添加代理参数:
activator -Dhttp.proxyHost=你的代理地址 -Dhttp.proxyPort=代理端口 -Dhttps.proxyHost=你的代理地址 -Dhttps.proxyPort=代理端口 -Dconfig.file=conf/prod.conf -Dhttp.port=9006 -Dhttps.port=9007 -jvm-debug 5005 run

4. 升级版本(可选)

sbt 0.13.18和Play 2.2.0均为较旧版本,可能存在HTTPS仓库的兼容性问题。如果项目允许,可尝试:

  • 升级sbt到0.13.x系列的最新版本
  • 升级Play插件到兼容的新版本(注意版本间的兼容性)

内容的提问来源于stack exchange,提问作者Shiva Reddy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 00:45:01