如何在目录中为sbt-plugins.jar制作SBT / Play?

时间:2014-03-11 20:18:47

标签: playframework sbt

刚刚在工作中选择了一个Scala / Play项目,并且在使用Apache Maven之后,我正在尝试了解这项工作。

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_HOME%/repositories/local下),我确实看到了Play全球localsbt.boot.properites中指定的play.boot.properties文件。

如何让SBT真正看到那里(在查看其他在线资料后)?

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

play-local: file://${play.home}/../repository/local/, [organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]

此时我很难过。我希望在构建时至少看到 local:trying 消息。

有没有办法让SBT在sbt-plugins.jar本地查看?是否有某种缓存?我错过了什么吗?请指教。

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

import sbt._
import Defaults._

logLevel := Level.Warn

resolvers ++= Seq(
    "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/",
    "sonatype-releasess" at "http://oss.sonatype.org/content/repositories/releases/"
)

addSbtPlugin("play" % "sbt-plugin" % "2.1.1")

addSbtPlugin("org.scalastyle" % "scalastyle-sbt-plugin" % "0.3.1")

addSbtPlugin("com.github.play2war" % "play2-war-plugin" % "1.0")

我还有一个根级sbt.plugins文件(在%PLAY_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")

这是play clean执行的projRoot\src\main level命令的标准输出:

[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]  ::::::::::::::::::::::::::::::::::::::::::::::

1 个答案:

答案 0 :(得分:0)

您是否在plugins.sbt中将本地Play存储库作为SBT解析程序?尝试将以下内容添加到plugins.sbt:

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

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