Sbt 是否将Scala项目发布到本地存储库?
我正在尝试使用sbt将项目发布到本地存储库中 这是我的build.sbt文件Sbt 是否将Scala项目发布到本地存储库?,sbt,Sbt,我正在尝试使用sbt将项目发布到本地存储库中 这是我的build.sbt文件 name := "myProject" organization := "co.myorganization" version := "2.0" scalaVersion := "2.11.0" sbtPlugin := true 这是我的publishLocal命令输出: [info] :: delivering :: co.myorganization#myProject;2.0 :: 2.0 :: re
name := "myProject"
organization := "co.myorganization"
version := "2.0"
scalaVersion := "2.11.0"
sbtPlugin := true
这是我的publishLocal
命令输出:
[info] :: delivering :: co.myorganization#myProject;2.0 :: 2.0 :: release :: Thu May 15 14:57:24 COT 2014
所有这些看起来都很好,但在我的另一个项目中,当我尝试将其用作依赖项时,我遇到了以下错误:
"co.myorganization" % "my-project" % "2.0"
错误输出:
::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: co.myorganization#my-project;2.0: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: co.s4n#s4n-autenticacion;2.0: not found
[error] Missing task key: scalaInstance
java.lang.IllegalArgumentException
at org.sbtidea.Settings.logErrorAndFail(Settings.scala:11)
at org.sbtidea.Settings$$anonfun$task$1.apply(Settings.scala:24)
at org.sbtidea.Settings$$anonfun$task$1.apply(Settings.scala:24)
at scala.Option.getOrElse(Option.scala:120)
at org.sbtidea.Settings.task(Settings.scala:24)
at org.sbtidea.SbtIdeaPlugin$.projectData(SbtIdeaPlugin.scala:163)
at org.sbtidea.SbtIdeaPlugin$$anonfun$2.applyOrElse(SbtIdeaPlugin.scala:88)
at org.sbtidea.SbtIdeaPlugin$$anonfun$2.applyOrElse(SbtIdeaPlugin.scala:87)
at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33)
at scala.collection.TraversableLike$$anonfun$collect$1.apply(TraversableLike.scala:278)
at scala.collection.immutable.RedBlackTree$.foreach(RedBlackTree.scala:79)
at scala.collection.immutable.TreeMap.foreach(TreeMap.scala:202)
at scala.collection.TraversableLike$class.collect(TraversableLike.scala:278)
at scala.collection.immutable.TreeMap.collect(TreeMap.scala:48)
at org.sbtidea.SbtIdeaPlugin$.doCommand(SbtIdeaPlugin.scala:87)
at org.sbtidea.SbtIdeaPlugin$$anonfun$org$sbtidea$SbtIdeaPlugin$$ideaCommand$2.apply(SbtIdeaPlugin.scala:45)
at org.sbtidea.SbtIdeaPlugin$$anonfun$org$sbtidea$SbtIdeaPlugin$$ideaCommand$2.apply(SbtIdeaPlugin.scala:45)
at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60)
at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:60)
at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62)
at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:62)
at sbt.Command$.process(Command.scala:95)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:100)
at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:100)
at sbt.State$$anon$1.process(State.scala:179)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:100)
at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:100)
at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:18)
at sbt.MainLoop$.next(MainLoop.scala:100)
at sbt.MainLoop$.run(MainLoop.scala:93)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:71)
at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:66)
at sbt.Using.apply(Using.scala:25)
at sbt.MainLoop$.runWithNewLog(MainLoop.scala:66)
at sbt.MainLoop$.runAndClearLast(MainLoop.scala:49)
at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:33)
at sbt.MainLoop$.runLogged(MainLoop.scala:25)
at sbt.StandardMain$.runManaged(Main.scala:57)
at sbt.xMain.run(Main.scala:29)
at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:57)
at xsbt.boot.Launch$.withContextLoader(Launch.scala:77)
at xsbt.boot.Launch$.run(Launch.scala:57)
at xsbt.boot.Launch$$anonfun$explicit$1.apply(Launch.scala:45)
at xsbt.boot.Launch$.launch(Launch.scala:65)
at xsbt.boot.Launch$.apply(Launch.scala:16)
at xsbt.boot.Boot$.runImpl(Boot.scala:32)
at xsbt.boot.Boot$.main(Boot.scala:21)
at xsbt.boot.Boot.main(Boot.scala)
[error] java.lang.IllegalArgumentException
请告知。也许您需要将本地存储库添加到冲突解决程序列表中
resolvers += "Local Maven Repository" at file(
Path.userHome.absolutePath+"/.m2/repository").toURL.toString
如果您将项目构建为plugin
sbtPlugin:=true
,它将添加关于sbt版本的额外信息
您必须使用addSbtPlugin
添加此类人工制品,此外,因为您已经覆盖了插件的默认Scala版本,您必须将其添加到addSbtPlugin
方法:
addSbtPlugin("co.myorganization" % "myproject" % "2.0", "0.13", "2.11")
假设您希望将插件添加到Sbt版本0.13和Scala 2.11
在做插件时,最好坚持使用默认版本的Scala
如果您的目的不是让插件从
构建中删除sbtPlugin:=true
。sbt
您是使用addSbtPlugin
添加项目还是将其作为正常依赖项添加?我是将其作为正常依赖项添加的。是我的错。所以我删除了sbtPlugin:=真的,瞧!现在可以了。非常感谢。