2

当我调试我的 sbt 构建时,我想导航到 sbt 源。

通过使用 sbt eclipse 插件,我可以调试我的 Build.scala 文件,这很棒!我也可以使用以下方法包含 sbt 插件源:

> reload plugins
> eclipse withSources=true

但是 sbt 本身的来源不在 sbt-eclipse 生成的 .classpath 文件中。我看到源 jar 在常春藤缓存中,但缺少 sourcepath 条目:

<classpathentry kind="lib" 
  path="/home/lee/.ivy2/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.1-RC2.jar"
/>

我希望生成的类路径具有如下所示的源路径。(这是手动编辑的,我想让它由 sbt-eclipse 生成):

<classpathentry kind="lib" 
  path="/home/lee/.ivy2/cache/org.scala-sbt/main-settings/jars/main-settings-0.13.1-RC2.jar" 
  sourcepath="/home/lee/.ivy2/cache/org.scala-sbt/main-settings/srcs/main-settings-0.13.1-RC2-sources.jar"
/>

(使用 sbt 13.1-RC2 和 sbt eclipse 2.4.0 测试)

我看到了这个sbt-dependency-manager插件,但这看起来很尴尬......

有没有更简单的方法来查看 sbt 源代码以及我的 sbt 构建?

4

1 回答 1

0

我作为 sbt-dependency-manager 的鼻祖,不得不承认,获取资源不仅有问题。您可以手动下载源代码并手动将它们附加到调试器,但 Eclipse 仍然无法使用它们。

sbt-dependency-manager 不仅可以下载,还可以重新打包 jars。所以这样你应该打开2个错误:-):

  • 关于在 sbt-eclipse 中获取源
  • 关于 SBT 本身的源布局

我试图避免这个问题,这是我知道的唯一解决方案。哦,当然,您可以切换到 Idea 或 Ensime - 但这对我来说是不可接受的。此外,我根本不使用 sbt-eclipse,因为 sbt-dependency-manager 使它无用。

于 2013-11-20T07:29:27.590 回答