在sbt中下载源代码包?

17

我拉取了源代码并在本地构建/发布。 我想要调试源代码的jar包。 当我在本地发布时,我清楚地看到它也发布了源代码的jar包。

[info]  published securesocial-testkit_2.10 to local\ws.securesocial\securesocial-testkit_2.10\master-SNAPSHOT\srcs\securesocial-testkit_2.10-sources.jar

我不知道如何引用这个jar文件。

"ws.securesocial" %% "securesocial" % "master-SNAPSHOT"更改为"ws.securesocial" %% "securesocial" % "master-SNAPSHOT-sources"无效。

4个回答

33

在依赖项定义中添加withSources()

从sbt官方文档中的下载源码

下载源代码和API文档jar通常由IDE插件处理。这些插件使用updateClassifiers和updateSbtClassifiers任务,生成引用这些jar的更新报告。

如果想要sbt下载依赖项的源码而不使用IDE插件,请在依赖项定义中添加withSources()。对于API jars,请添加withJavadoc()。例如:

libraryDependencies += "org.apache.felix" % "org.apache.felix.framework" % "1.8.0" withSources() withJavadoc()

请注意,这不是传递性的。要实现传递性,请使用update-*classifiers任务。


26
您可以运行 sbt update-classifiers 一次性下载所有项目依赖项的源代码和 javadoc jar 文件。
对于 sbt 1.0 版本,命令是 sbt updateClassifiers

更新:无关紧要。Ensime SBT插件在源代码可用时确实会获取它们。对于没有可用源代码的Maven资源,会发出警告。 - Peter Becich

2

对我而言,使用以下方法效果更佳:

sbt ';reload plugins; updateClassifiers'

0
如果你正在使用Eclipse IDE,并且配备了SBT Eclipse插件,那么SBT命令是:
eclipse with-source=true

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接