使用xsbt-gpg-plugin未解析的依赖项无法使用sbt 0.13上传到sonatype:com.jsuereth#xsbt-gpg-plugin; 0.6

时间:2014-10-22 12:03:33

标签: scala sbt

我的plugins.sbt有这个:

logLevel := Level.Warn

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "1.0.0")

resolvers += Resolver.url("sbt-plugin-releases", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases")) (Resolver.ivyStylePatterns)

addSbtPlugin("com.jsuereth" % "xsbt-gpg-plugin" % "0.6")

当我运行sbt publish时,我得到:

  

[警告] ==== sbt-plugin-releases:试过[警告]
  http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases/com.jsuereth/xsbt-gpg-plugin/scala_2.10/sbt_0.13/0.6/ivys/ivy.xml   [warn] ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::警告] ::
  无人解决的依赖:: [警告]     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::警告: :   com.jsuereth#xsbt-gpg-plugin; 0.6:未找到[warn]     :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: [警告] [警告]注意:   一些未解析的依赖项具有额外的属性。检查一下这些   依赖项与请求的属性一起存在。 [警告]         com.jsuereth:xsbt-gpg-plugin:0.6(sbtVersion = 0.13,   scalaVersion = 2.10)[warn] sbt.ResolveException:未解析   依赖:com.jsuereth#xsbt-gpg-plugin; 0.6:未找到 at   sbt.IvyActions $ .sbt $ IvyActions $$ resolve(IvyActions.scala:217)at at   sbt.IvyActions $$ anonfun $ $更新1.适用(IvyActions.scala:126)

所以我尝试将addSbtPlugin更新为:

addSbtPlugin("com.jsuereth" % "xsbt-gpg-plugin" % "0.6",
  sbtVersion = "0.12",    // SBT version
  scalaVersion = "2.9.2" )

现在我

[warn] The global sbt directory is now versioned and is located at /home//.sbt/0.13.
[warn]   You are seeing this warning because there is global configuration in /home//.sbt but not in /home//.sbt/0.13.
[warn]   The global sbt directory may be changed via the sbt.global.base system property.
[info] Loading project definition from /home//dev/projects/myproj/project
[warn] Multiple resolvers having different access mechanism configured with same name 'sbt-plugin-releases'. To avoid conflict, Remove duplicate project resolvers (`resolvers`) or rename publishing resolver (`publishTo`).
**java.lang.NoClassDefFoundError: sbt/Scoped$ListSetting**
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:270)

无论如何要解决它吗? 感谢

1 个答案:

答案 0 :(得分:3)

不确定,但我认为您使用该插件的旧版本?

我使用以下最新 sbt 0.13.6 。我将此全局安装在~/.sbt/0.13/plugins/build.sbt

addSbtPlugin("com.typesafe.sbt" % "sbt-pgp" % "0.8.1") // sign Sonatype artifacts

我还在~/.sbt/0.13/sonatype.sbt

中留下了我的凭据
credentials += Credentials("Sonatype Nexus Repository Manager",
                           "oss.sonatype.org",
                           "user-name", "pass-word")

这样我可以sbt publish-signed


Here is the plugin documentation。 (如您所见,已经有更新的版本可供使用)