我正在使用SBT和IntellijIdea来运行项目。我基本上需要开发一个依赖于其他库来完成其工作的模块。但是,我想在调试项目时“看到”库上的控制流。那就是:
-> callToLibrary(...)
在调试时,我希望能够输入此调用并查看外部库的代码。为了做到这一点,Intellij Idea和SBT有哪些配置?
规格
为了更精确地假设我的项目具有以下结构:
project-name
-> .idea
-> project[project-name-build]
-> src -> main
-> test
-> target
-> build.sbt
-> External Libraries
假设我的外部库的源代码存储在directory
中写入的路径中的某个文件中。假设这个源文件只是一个从Github克隆的项目。
SBT文件和Intellij Idea中的配置需要什么才能使项目正常工作(不要抱怨导入)并且能够调试项目和外部库?
答案 0 :(得分:2)
确保build.sbt中有transitiveClassifiers := Seq("sources")
,以便所有库都下载了源代码。然后你需要做的就是像往常一样调试你的应用程序。当进入库代码时,将显示源代码。此外,如果源不可用,IntelliJ将为您反编译一个类。您的build.sbt
:
lazy val commonSettings = Seq[sbt.Def.Setting[_]](
scalaVersion := "2.11.8"
// ...
, transitiveClassifiers := Seq("sources")
)
lazy val root =
Project(
id = "some_name"
, base = file(".")
, aggregate = Seq( ... )
)
.enablePlugins(...)
.settings( commonSettings: _* )
)