Sbt 是否将Scala项目发布到本地存储库?

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

我正在尝试使用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 :: 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:=真的,瞧!现在可以了。非常感谢。