让sbt在类路径上放置javadoc和依赖源

时间:2014-03-04 00:49:07

标签: scala resources classpath sbt

使用托管依赖项时,我可以告诉sbt下载javadoc和源代码:

"mygroup" % "mymodule" % "myversion" withJavadoc() withSources()

但是这些jar似乎不在运行时类路径上?

我想做的是从我的应用程序访问javadoc和源代码。我可以将这些罐子显示为托管资源,这样我就可以

ClassLoader.getSystemClassLoader.getResource("/my/package/MyDependency.scala")

1 个答案:

答案 0 :(得分:7)

您可以通过添加classifier来完成此操作。

对于给定的库依赖项,添加javadocsources classifer

libraryDependencies += "org.scalaz" %% "scalaz-core" % "7.0.6" classifier "javadoc"

libraryDependencies += "org.scalaz" %% "scalaz-core" % "7.0.6" classifier "sources"

然后,从类路径中访问其内容:

val docStream = getClass.getResourceAsStream("""/scalaz/Monad$.html""")
val doc = io.Source.fromInputStream(docStream).mkString
println(doc)

以下是一个有效的例子:https://earldouglas.com/ext/stackoverflow.com/questions/22160701/