将addSbtPlugin(" org.xerial.sbt"%" sbt-sonatype"%" 1.1")添加到我的项目失败,其中包含" Unresolved Dependencies&#34 ;

时间:2017-10-21 05:55:46

标签: sbt sonatype

我正在尝试将我的SBT project发布到mvnrepository。我按照这些链接的说明进行操作:

http://www.scala-sbt.org/release/docs/Using-Sonatype.html,和 https://github.com/xerial/sbt-pack

当我将xerial sbt-sonatype插件添加到我的build.sbt文件中时:

addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "1.1")   

编译器给出了以下错误:

UNRESOLVED DEPENDENCIES

org.xerial.sbt#sbt-sonatype;1.1 not found

Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      org.xerial.sbt:sbt-sonatype:1.1 (scalaVersion=2.11, sbtVersion=0.13)
[warn]
[warn]  Note: Unresolved dependencies path:
[warn]      org.xerial.sbt:sbt-sonatype:1.1 (scalaVersion=2.11, sbtVersion=0.13) (/richstat/build.sbt#L56-57)
[warn]        +- com.github.shafiquejamal:richstat_2.11:0.0.1

我的SBT版本是0.13,我使用的是Scala 2.11。我怎样才能解决这个问题?谢谢!

1 个答案:

答案 0 :(得分:1)

您必须在lazy val formattedDF = df.withColumn("result_col", validateudf(df("id"))) val validateudf = udf((id: Int) => { if(id == 1){ "ID IS EQUAL TO 1" } else if(id > 1){ validateId(id) } else{ "NO VALID RECORDS" } }) def validateId(id:Int) : String = { if (id > 2) { "ID IS GREATER THAN 2" } else { "VALID RECORDS" } } 中添加插件,因为插件是元项目的依赖项,而不是您的库/应用程序。

检查sbt文档:Using Plugins

另外关于sbt版本和Scala版本:Scala版本用于编译项目的代码(在你的情况下为2.11),并且sbt本身使用了Scala版本。后者由sbt版本决定:sbt-0.13使用Scala 2.10,sbt-1.0使用Scala 2.12。

P.S。我建议你更新到sbt-1.0.2:只需更改project/plugins.sbt中的版本并使用sbt-sonatype 2.0。