如何将com.typesafe.sbt。*依赖项添加到我的项目中?

时间:2015-03-21 23:59:14

标签: scala sbt

我正在玩一个sbt web插件,我想在我的项目中重用代码。不幸的是,由于缺少依赖性,我甚至无法在我的项目中编译原始代码。这些是进口:

import com.typesafe.sbt.jse.SbtJsTask
import com.typesafe.sbt.web.{CompileProblems, LineBasedProblem}
import sbt.Keys._
import sbt._
import xsbti.Severity

这些都无法解决。构建失败,并显示not found: object sbt之类的消息。我检查了原始项目的build.sbt文件,但libraryDependencies中没有任何相关内容。

我正在使用Intellij Idea,奇怪的是,当我在项目视图中展开外部库时,我可以在 SBT下找到所有必需的内容:sbt-and-plugins < / em>(例如对象com.typesafe.sbt.web.CompileProblems就在那里,我可以在类文件中看到它的定义)。

在我看来,我需要的东西是sbt的核心部分,但不知何故它不会加载到项目中。我做错了什么?

1 个答案:

答案 0 :(得分:8)

简短回答:from here

编辑(3):回答:

使用自定义常春藤解析器:

resolvers += Resolver.url("SBT Plugins", url("https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/"))(Resolver.ivyStylePatterns)

libraryDependencies += ("com.typesafe.sbt" % "sbt-js-engine" % "1.0.2")
  .extra(
    sbt.mavenint.PomExtraDependencyAttributes.SbtVersionKey -> sbtBinaryVersion.value,
    sbt.mavenint.PomExtraDependencyAttributes.ScalaVersionKey -> scalaBinaryVersion.value)
  .copy(crossVersion = CrossVersion.Disabled)

如何查找插件罐:

要弄明白sbt从哪里下载罐子,我使用了这个(有点尴尬)的过程:

首先,我想知道sbt存储文件的位置。所以:

sbt "reload plugins" "show fullClasspath" | sed s/\),\ Attributed\(/\\n/g

我搜索了输出(或者您可以使用grep)。

然后,我删除了该文件,并再次执行了sbt:reload pluginsupdate&amp; last update查看完整更新日志。 在搜索日志时,我发现了一行说sbt从哪里获得插件。