我正在构建一个sbt插件,并希望在sbt汇编插件中引用汇编任务(取决于我的任务)
要做到这一点,我需要将它作为一个库(而不是插件)引用,不知何故,sbt无法将它作为一个库dedencies来解析
这就是我的sbt的样子
sbtPlugin := true
name := "my-sbt-plugin"
scalaVersion := "2.10.6"
sbtVersion := "0.13.0"
resolvers ++= Seq(Resolver.sbtPluginRepo("releases"), Resolver.sbtPluginRepo("snapshots"))
libraryDependencies ++= Seq(
"com.eed3si9n" % "sbt-assembly" % "0.13.0")
输出看起来像
Resolving com.eed3si9n#sbt-assembly;0.13.0 ...
[warn] module not found: com.eed3si9n#sbt-assembly;0.13.0
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== local: tried
[warn] /Users/myuser/.ivy2/local/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/eed3si9n/sbt-assembly/0.13.0/sbt-assembly-0.13.0.pom
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[warn] ==== sbt-plugin-snapshots: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-snapshots/com.eed3si9n/sbt-assembly/0.13.0/ivys/ivy.xml
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.eed3si9n#sbt-assembly;0.13.0: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
除了上述建议之外,我还要补充一点
resolvers += Resolver.url("bintray-sbt-plugins", url("http://dl.bintray.com/sbt/sbt-plugin-releases"))(Resolver.ivyStylePatterns)
项目/插件。sbt。
在我的例子中,将sbt程序集版本从14.3修改为14.5就成功了。请检查一下什么是你的,试试看。
因此,在项目\程序集中。sbt,就像-
addSbtPlugin("com.eed3si9n"%"sbt-汇编"%"0.14.3")
然后我把它改成-
添加SBTPlugin(“com.eed3si9n”%“sbt组件”%“0.14.5”)
希望有帮助!
由于未指定scala版本,因此无法解析。应该是这样的:
libraryDependencies ++= Seq(
"com.eed3si9n" % "sbt-assembly_2.11" % "0.13.0"
)
或者,要自动获取project中使用的scala版本,请执行以下操作:
libraryDependencies ++= Seq(
// notice the double %% here
"com.eed3si9n" %% "sbt-assembly" % "0.13.0"
)
但是,sbt汇编不应该以这种方式安装。文档显示您必须将以下行添加到您的项目/plugins.sbt
中:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.2")
如果开发sbt插件,addSbtPlugin
行必须直接进入/建筑sbt
。
使用IntelliJ最新的scala插件sbt 13.8和scala 2.11.7的新sbt项目,我尝试添加一个库-akka 2.4.2。在此之后,我简单地添加 [信息]解析org.scala-sbt#testing;0.13.8... [信息]解析org.scala-sbt#test-agent;0.13.8... [信息]解析org.scala-SBT#test-interface;1.0..
我使用SBT创建了一个scala项目,并使用Scalatest编写了一些单元测试用例。但不知何故找不到org.scalatest包。 下面是我的项目定义文件:
对于那些对整个pom.xml感兴趣的人来说:
我有一个Play应用程序,当我运行时,我得到一个错误,如下所示: 但实际上,这个插件的路径是而不是失败的试用。 project/plugin.sbt如下所示: 请指教。
当我运行sbt compile时,我得到com.google.api-ads依赖项的unresolved dependencies错误