Playframework 如何从GitHub上的自定义存储库中定义依赖项的解析器?

Playframework 如何从GitHub上的自定义存储库中定义依赖项的解析器?,playframework,sbt,Playframework,Sbt,出于某些原因,从Play的构建中执行Play 2.3和sbt 0.13.5。sbt无法识别。它并没有降低这种特殊的依赖性。有什么想法吗 libraryDependencies += "elasticplay" % "elastic-search-module_2.10" % "1.0.0" resolvers += Resolver.url("My GitHub Repository", url("https://github.com/vikasdp/elasticplay/tree/mast

出于某些原因,从Play的
构建中执行Play 2.3和sbt 0.13.5。sbt
无法识别。它并没有降低这种特殊的依赖性。有什么想法吗

libraryDependencies += "elasticplay" % "elastic-search-module_2.10" % "1.0.0"

resolvers += Resolver.url("My GitHub Repository", url("https://github.com/vikasdp/elasticplay/tree/master/releases/"))(Resolver.ivyStylePatterns)
它抛出了以下内容

[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  ::          UNRESOLVED DEPENDENCIES         ::
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
[warn]  :: com.vikasdp.elasticplay#elastic-search-module_2.10;1.0.0: not found
[warn]  ::::::::::::::::::::::::::::::::::::::::::::::
sbt.ResolveException: unresolved dependency: com.vikasdp.elasticplay#elastic-search-module_2.10;1.0.0: not found
at sbt.IvyActions$.sbt$IvyActions$$resolve(IvyActions.scala:217)
at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:126)
at sbt.IvyActions$$anonfun$update$1.apply(IvyActions.scala:125)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:115)
at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:115)
at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:103)
at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:48)
at sbt.IvySbt$$anon$3.call(Ivy.scala:57)
at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:98)
at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:81)
at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:102)
at xsbt.boot.Using$.withResource(Using.scala:11)
at xsbt.boot.Using$.apply(Using.scala:10)
at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:62)
at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:52)
at xsbt.boot.Locks$.apply0(Locks.scala:31)
at xsbt.boot.Locks$.apply(Locks.scala:28)
at sbt.IvySbt.withDefaultLogger(Ivy.scala:57)
at sbt.IvySbt.withIvy(Ivy.scala:98)
at sbt.IvySbt.withIvy(Ivy.scala:94)
at sbt.IvySbt$Module.withModule(Ivy.scala:115)
at sbt.IvyActions$.update(IvyActions.scala:125)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1223)
at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1221)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$74.apply(Defaults.scala:1244)
at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$74.apply(Defaults.scala:1242)
at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:35)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1246)
at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1241)
at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:45)
at sbt.Classpaths$.cachedUpdate(Defaults.scala:1249)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1214)
at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1192)
at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:42)
at sbt.std.Transform$$anon$4.work(System.scala:64)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:237)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.Execute.work(Execute.scala:244)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:237)
at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:160)
at sbt.CompletionService$$anon$2.call(CompletionService.scala:30)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:744)
[error] (*:update) sbt.ResolveException: unresolved dependency:    com.vikasdp.elasticplay#elastic-search-module_2.10;1.0.0: not found
更新:

elastic search module
项目中运行
activator publishLocal
时显示以下输出:

  elastic-search-module vpandya$ activator publishLocal
  [info] Loading project definition from /Users/vpandya/elastic-search-module/project
  [info] Set current project to elastic-search-module (in build   file:/Users/vpandya/elastic-search-module/)
 [info] Wrote /Users/vpandya/elastic-search-module/target/scala-2.10/elastic-  search-module_2.10-1.0.0.pom
 [info] :: delivering :: elasticplay#elastic-search-module_2.10;1.0.0 :: 1.0.0 :: release    :: Mon Aug 04 12:25:50 EDT 2014
 [info]     delivering ivy file to /Users/vpandya/elastic-search-module/target/scala-2.10/ivy-1.0.0.xml
 [info]     published elastic-search-module_2.10 to   /Users/vpandya/.ivy2/local/elasticplay/elastic-search-module_2.10/1.0.0/poms/elastic-search-  module_2.10.pom
 [info]     published elastic-search-module_2.10 to /Users/vpandya/.ivy2/local/elasticplay/elastic-search-module_2.10/1.0.0/jars/elastic-search-module_2.10.jar
 [info]     published elastic-search-module_2.10 to /Users/vpandya/.ivy2/local/elasticplay/elastic-search-module_2.10/1.0.0/srcs/elastic-search-module_2.10-sources.jar
 [info]     published elastic-search-module_2.10 to /Users/vpandya/.ivy2/local/elasticplay/elastic-search-module_2.10/1.0.0/docs/elastic-search-module_2.10-javadoc.jar
 [info]     published ivy to /Users/vpandya/.ivy2/local/elasticplay/elastic-search-module_2.10/1.0.0/ivys/ivy.xml
 [success] Total time: 0 s, completed Aug 4, 2014 12:25:50 PM 
elastic search module
上运行
sbt“show projectId”
显示以下内容:

elasticplay:elastic-search-module:1.0.0
[info] List(org.scala-lang:scala-library:2.10.3, org.elasticsearch:elasticsearch:1.3.0,   org.scalatest:scalatest:2.1.5:test, org.scalacheck:scalacheck:1.11.3:test, org.scalatestplus:play:1.0.0:test, org.scalaz:scalaz-core:7.0.6)
[info] List()
checksums in update := Nil
更新2

elasticplay
模块中运行
sbt“显示库依赖项”“显示解析程序”
显示以下内容:

elasticplay:elastic-search-module:1.0.0
[info] List(org.scala-lang:scala-library:2.10.3, org.elasticsearch:elasticsearch:1.3.0,   org.scalatest:scalatest:2.1.5:test, org.scalacheck:scalacheck:1.11.3:test, org.scalatestplus:play:1.0.0:test, org.scalaz:scalaz-core:7.0.6)
[info] List()
checksums in update := Nil

tl;drGitHub提供来自(非)的原始文件,因此
resolvers
应该使用URL

您已经定义了一个Maven存储库,但里面有一个Ivy2目录布局

将存储库布局更改为Maven one-
com/vikasdp/elasticplay/elastic-search-module_2.10/1.0.0
并将
elastic-search-module_2.10-1.0.0.jar
放在内部

您也可以将新的
解析器
更改为具有
解析器.ivyStylePatterns
的Ivy2解析器,使其成为-请注意URL
https://raw.githubusercontent.com

val url = url("https://raw.githubusercontent.com/vikasdp/elasticplay/master/releases")

resolvers += Resolver.url("My GitHub Repository", url)(Resolver.ivyStylePatterns)
见sbt的官方文件

通过构建定义,sbt可以解决依赖关系:

libraryDependencies += "elasticplay" % "elastic-search-module_2.10" % "1.0.0"
当您遇到显示为无效sha1的问题时,请使用以下命令禁用对下载文件校验和的验证:

elasticplay:elastic-search-module:1.0.0
[info] List(org.scala-lang:scala-library:2.10.3, org.elasticsearch:elasticsearch:1.3.0,   org.scalatest:scalatest:2.1.5:test, org.scalacheck:scalacheck:1.11.3:test, org.scalatestplus:play:1.0.0:test, org.scalaz:scalaz-core:7.0.6)
[info] List()
checksums in update := Nil

请参阅sbt的官方文档。

:谢谢。这是有道理的。不过看起来我仍然缺少一些东西<代码>https://github.com/vikasdp/elasticplay/tree/master/releases/elasticplay/elastic-search-module_2.10/1.0.0是一个新路径。依赖项更改为
“elasticplay”%”elastic-search-module_2.10“%”1.0.0“
带有
解析器+=Resolver.url(“我的GitHub存储库”,url(“https://github.com/vikasdp/elasticplay/tree/master/releases/"))(Resolver.ivyStylePatterns)
在下载模块描述符时出现
问题:
:无效sha1:您可能希望尝试使用
校验和,如中所述。显示play 2.3
activator
已更改某些内容。为了缩小范围,我正在为
elasticplay
播放模块执行
activator publish local
。并试图引用另一个剧本(2.3)项目中本地发布的模块。使用
库依赖项中的
“elasticplay”%%“elastic-search-module_2.10”%%“1.0.0”
。它不会抛出任何错误,但同时不会将此(
elasticplay
)依赖项拉入当前项目。您是否可以在
elastic搜索模块
项目中执行
sbt“show projectId”
,该项目旨在提供适当的模块ID?能否将
激活器publishLocal
的输出添加到问题中以进一步澄清?