Playframework 如何使SBT/Play在SBT-plugins.jar目录中查找?

Playframework 如何使SBT/Play在SBT-plugins.jar目录中查找?,playframework,sbt,Playframework,Sbt,刚刚在工作中接受了一个Scala/Play项目,在与ApacheMaven合作后,我试图理解SBT的工作原理 Typesafe和Sonatype repos最近在工作中被阻塞,当我运行构建时,它抱怨缺少插件jar。SBT似乎总是只尝试在线回购,尽管我在plugins.SBT文件中指定了其他存储库,如下所示: [warn] [NOT FOUND ] play#sbt-plugin;2.1.1!sbt-plugin.jar (22ms) [warn] ==== typesafe-ivy-rele

刚刚在工作中接受了一个Scala/Play项目,在与ApacheMaven合作后,我试图理解SBT的工作原理

Typesafe和Sonatype repos最近在工作中被阻塞,当我运行构建时,它抱怨缺少插件jar。SBT似乎总是只尝试在线回购,尽管我在
plugins.SBT
文件中指定了其他存储库,如下所示:

[warn]  [NOT FOUND  ] play#sbt-plugin;2.1.1!sbt-plugin.jar (22ms)
[warn] ==== typesafe-ivy-releases: tried
我确实在本地play repo(在
%play\u HOME%/repositories/local
下)中看到了这个jar,并且我确实看到了在play的全局
sbt.boot.properites
play.boot.properties
文件中指定的
local

我怎样才能让SBT实际查看那里(在查看其他在线资源之后)

我还向Play和SBT
boot.properties
文件中添加了以下内容,希望明确指出它,但没有帮助:

play-local: file://${play.home}/../repository/local/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]
在这一点上,我被难住了。我希望在构建时至少能看到一条local:threaded消息

有没有办法让SBT在本地查找
SBT plugins.jar
?是否存在某种缓存?我错过什么了吗?请告知

EDIT1(2014年3月12日):根据要求,这是我的plugins.sbt文件(本地,项目级)

我还有一个根级别的
sbt.plugins
文件(在
%PLAY\u HOME%/framework/project
下),如下所示:

logLevel := Level.Warn

resolvers += Classpaths.typesafeResolver

addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "0.1.4")

addSbtPlugin( "com.typesafe.sbtscalariform" % "sbtscalariform" % "0.5.1") 

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.1.0")
以下是在
projRoot\src\main级别执行的
play clean
命令的标准:

[info] Loading project definition from C:\path\to\my\proj\src\main
[warn]  [NOT FOUND  ] play#sbt-plugin;2.1.1!sbt-plugin.jar (29ms)
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/play/sbt-plugin/scala_2.9.2/sbt_0.12/2.1.1/jars/sbt-plugin.jar
[warn]  [NOT FOUND  ] org.scalastyle#scalastyle-sbt-plugin;0.3.1!scalastyle-sbt-plugin.jar (204ms)
[warn] ==== sonatype-releasess: tried
[warn]   http://oss.sonatype.org/content/repositories/releases/org/scalastyle/scalastyle-sbt-plugin_2.9.2_0.12/0.3.1/scalastyle-sbt-plugin-0.3.1.jar
[warn]  [NOT FOUND  ] com.github.play2war#play2-war-plugin;1.0!play2-war-plugin.jar (13ms)
[warn] ==== sbt-plugin-releases: tried
[warn]   http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.github.play2war/play2-war-plugin/scala_2.9.2/sbt_0.12/1.0/jars/play2-war-plugin.jar
[warn]  [NOT FOUND  ] com.typesafe.sbteclipse#sbteclipse-plugin;2.1.1!sbteclipse-plugin.jar (31ms)
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbteclipse/sbteclipse-plugin/scala_2.9.2/sbt_0.12/2.1.1/jars/sbteclipse-plugin.jar
[warn]  [NOT FOUND  ] com.typesafe.sbtidea#sbt-idea;1.1.1!sbt-idea.jar (28ms)
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbtidea/sbt-idea/scala_2.9.2/sbt_0.12/1.1.1/jars/sbt-idea.jar
[warn]  [NOT FOUND  ] com.typesafe.sbteclipse#sbteclipse-core;2.1.1!sbteclipse-core.jar (31ms)
[warn] ==== typesafe-ivy-releases: tried
[warn]   http://repo.typesafe.com/typesafe/ivy-releases/com.typesafe.sbteclipse/sbteclipse-core/scala_2.9.2/sbt_0.12/2.1.1/jars/sbteclipse-core.jar
[warn]  [NOT FOUND  ] org.scalastyle#scalastyle_2.9.2;0.3.1!scalastyle_2.9.2.jar (0ms)
[warn] ==== sonatype-releasess: tried
[warn]   http://oss.sonatype.org/content/repositories/releases/org/scalastyle/scalastyle_2.9.2/0.3.1/scalastyle_2.9.2-0.3.1.jar
[warn]  [NOT FOUND  ] com.github.scopt#scopt_2.9.2;2.1.0!scopt_2.9.2.jar (0ms)
[warn] ==== sonatype-releasess: tried
[warn]   http://oss.sonatype.org/content/repositories/releases/com/github/scopt/scopt_2.9.2/2.1.0/scopt_2.9.2-2.1.0.jar
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::              FAILED DOWNLOADS            ::
[warn]  :: ^ see resolution messages for details  ^ ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::

在plugins.SBT中是否有本地播放存储库作为SBT解析器?尝试将以下内容添加到plugins.sbt:

resolvers += Resolver.file("Local Play repo", file(System.getProperty("PLAY_HOME") + "/repositories/local"))(Resolver.ivyStylePatterns)

至少你应该能够在试用过的存储库列表中看到它。

你的
插件.sbt
现在看起来怎么样?您是否更改了默认配置?你能把
sbt update
的全部输出都包括在问题中吗?请参阅我原来帖子中的EDIT1。我已经包括了两个plugin.sbt文件。我的proj文件中还有一个Build.scala文件,它添加了另一个解析器,一个本地maven repo:var appResolvers=Seq(“我的本地repo”at”)@JacekLaskowki-看到完整的stdout后有什么想法吗?谢谢你的建议,但不幸的是它没有起作用。我尝试将这一行添加到local plugins.sbt和global play-one中(以及两者)因此,我认为如果找不到jar,添加解析程序应该会产生一个
尝试过的
输出,这似乎是正确的?这没有发生。我甚至尝试删除已定义的解析程序-没有更改。不确定下一步要看哪里。@anonymoose尝试创建一个公共GitHub存储库,以便每个人都可以下载并构建它。我'我将尝试尽快发布该项目,但没有具体说明。与此同时,任何人都可以通过使用
play new
命令创建一个新的默认播放项目,然后(在禁用对typesafe repo的访问后)轻松复制此问题。'在默认项目上尝试一个
play clean
。play/sbt尝试做的第一件事是获取sbt插件。当所有其他JAR都尝试从多个位置获取时(每次尝试我都会看到尝试过的标准输出),sbt-plugin.jar只是从typesafe repo中尝试的。我想我知道发生了什么-问题似乎是jar的ivy.xml被成功获取,但jar本身被阻止下载。构建首先下载ivy文件(这一步认为特定解析程序的步骤是成功的,不再需要尝试其他解析程序),组装dep.tree/graph,然后获取jar本身(jar获取的地址基于ivy.xml的原始位置,在本例中是typesafe)。我假设如果我阻止对typesafe ivy.xml获取的访问,typesafe解析器将失败,下一个Res.将尝试获取ivy.xml
resolvers += Resolver.file("Local Play repo", file(System.getProperty("PLAY_HOME") + "/repositories/local"))(Resolver.ivyStylePatterns)