加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何通知SBT使用插件的特定scala版本?

发布时间:2020-12-16 09:24:40 所属栏目:安全 来源:网络整理
导读:现在我以某种方式弄乱了我的全局sbt插件(?/ .sbt / plugins / build.sbt).它们总是可以很好地检索Scala 2.9.1,这似乎是sbt 0.11.3想要的版本,并且所有插件(sbt-gpg-plugin,sbt-idea-plugin)都是针对2.9.1发布的. 无论我做什么,它都会一直试图找到它们建立在2
现在我以某种方式弄乱了我的全局sbt插件(?/ .sbt / plugins / build.sbt).它们总是可以很好地检索Scala 2.9.1,这似乎是sbt 0.11.3想要的版本,并且所有插件(sbt-gpg-plugin,sbt-idea-plugin)都是针对2.9.1发布的.

无论我做什么,它都会一直试图找到它们建立在2.9.2之上:

[warn]  Note: Some unresolved dependencies have extra attributes.  Check that these dependencies exist with the requested attributes.
[warn]      com.github.mpeltonen:sbt-idea:1.0.0 (sbtVersion=0.11.3,scalaVersion=2.9.2)
[warn]      com.jsuereth:xsbt-gpg-plugin:0.6 (sbtVersion=0.11.3,scalaVersion=2.9.2)
...
[error] {file:...}default-50be6e/*:update: sbt.ResolveException: unresolved dependency: com.github.mpeltonen#sbt-idea;1.0.0: not found

我该怎么解决这个问题,所以sbt像以前一样检索Scala 2.9.1的插件?

为了完整起见,这是我的文件照顾建议的方式:

// project-home/build.sbt
scalaVersion := "2.9.2"
...
// project-home/project/plugins.sbt
resolvers += "less is" at "http://repo.lessis.me"

addSbtPlugin( "me.lessis" % "ls-sbt" % "0.1.1" )

scalaVersion := "2.9.1"  // "just in case it helps"
// ~/.sbt/plugins/build.sbt
scalaVersion := "2.9.1"  // "just in case it helps"

resolvers += "sbt-idea-repo" at "http://mpeltonen.github.com/maven/"

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

addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.0.0")

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

更糟糕的是,即使我删除了?/ .sbt / plugins / build.sbt,问题仍然存在.因此,对于sbt-idea或xsbt-gpg-plugin,没有更多的引用(至少对我来说是可见的).我仍然无法编译任何项目,因为sbt仍然试图找到这两个插件.史诗失败.

解决方法

您可以提供Scala版本的插件.我没有使用?/ .sbt /,但我认为它也会起作用.

以下是我的项目配置,使用Scala 2.9.2作为我的项目编译器,并使用从Scala 2.9.1编译的一些插件.由于Scala 2.9.1和Scala 2.9.2是二进制兼容的,我还没有遇到任何问题.

// MyProject/build.sbt

name := "MyProject"            

version := "0.1"            

scalaVersion := "2.9.2"

以下是插件配置:

// File: MyProject/project/plugins.sbt

import sbt._

import Defaults._

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


// Resolved to: 
//
//  http://..../com.untyped/sbt-less/scala_2.9.1/sbt_0.11.3/0.4/jars/sbt-less.jar 
//
libraryDependencies += sbtPluginExtra(
    m = "com.untyped" % "sbt-less" % "0.4",// Plugin module name and version
    sbtV = "0.11.3",// SBT version
    scalaV = "2.9.1"    // Scala version compiled the plugin
)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读