尽管我为它配置了本地连接,为什么IntelliT中的SBT通过Internet访问Maven?

时间:2016-03-11 13:59:50

标签: intellij-idea sbt

我的build.sbt

中有以下存储库
resolvers ++= Seq(
    "Maven Central" at "http://10.1.1.200:8080/nexus/content/repositories/central/",
    "Typesafe Repository" at "http://10.1.1.200:8080/nexus/content/repositories/typesafe/",
    "Atlassian Releases" at "http://10.1.1.200:8080/nexus/content/repositories/atlassian/",
    "scalaz-bintray" at "http://10.1.1.200:8080/nexus/content/repositories/scalaz-bintray/",
    "Sonatype Releases" at "http://10.1.1.200:8080/nexus/content/repositories/sonatype/"
  )

但是当我运行我的Play项目时,IntelliJ Idea仍会通过Internet访问Maven存储库。当它超时时,它似乎就到了本地存储库。

如何将其配置为首先访问本地Nexus存储库?

2 个答案:

答案 0 :(得分:1)

您应该将SBT设置更改为以下以使用自定义存储库

你需要

  

创建一个名为“repositories”的本地文件,其内容采用以下格式(修改URL模式以匹配您的)

     

[库]
  当地
  my-ivy-proxy-releases:http://repo.company.com/ivy-releases/,[organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/ artifact。[ext]   my-maven-proxy-releases:http://repo.company.com/maven-releases/

然后,使用下面的配置

  

-Dsbt.override.build.repos = true -Dsbt.repository.config = ....其余参数

按照以下说明进行更改

  

转到设置(Ctrl + Alt + S) - >其他设置 - > SBT - >添加   以上参数与现有VM参数

答案 1 :(得分:0)

您应该使用代理存储库,而不是更改build.sbt文件(因为其他人可能希望使用相同的build.sbt文件,但无法访问您的本地存储库)

文档是here。如果你想完全没有点击外部仓库,你可以添加-Dsbt.override.build.repos = true,其文档在同一页面上。