scala - 如何在doc任务中排除java源文件?

标签 scala sbt scaladoc

我正在将 sbt 0.11.2 用于混合 Java/Scala 项目。我意识到,当我从 sbt 中运行 doc 命令时,它不仅会在 src/main/scala 中为 Scala 源文件创建 scaladocs,而且还会为对于 src/main/java 中的 Java 源文件(sbt wiki 声称为 src/main/scala 创建它们,但这似乎不正确)。

但是,这看起来不太好。例如,对于具有静态方法的名为 Foo 的 Java 类,生成的 scaladoc 中有两个条目:一个 Foo 类和一个 Foo 对象。类仅列出构造函数,对象列出静态方法。

有什么方法可以告诉 sbt 从 scaladoc 生成中排除 src/main/java 文件夹吗?我想为这些创建 javadoc。

最佳答案

处理此问题的常用方法是使用 inspect 来查看信息的来源,然后进行更改。检查 doc 显示 compile:sources(for doc),它是一个 Seq[java.io.File],并且可以像这样进行更改这个:

sources in (Compile, doc) ~= (_ filter (_.getName endsWith ".scala"))

您可以使用 showcompile:sources(for doc) 查看它包含的内容,然后set 更改它并再次检查其值。

关于scala - 如何在doc任务中排除java源文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8884866/

相关文章:

scala - 为根包生成 scaladoc

scala - 通过 TcpClient.transport 连接时出现 elastic4s NoNodeAvailableException

scala - 并发概述

scala - 案例类继承另一个类/特征

java - Scala 多模块项目?

scala - 为什么 Scaladoc 方法签名是错误的?

scala - 使用 Scala 实现可扩展的 MMORPG?

scala - 有没有办法通过命令行为 sbt 指定备用位置以查找构建配置?

java - 对象测试不是 org.elasticsearch 包的成员

scala - 为什么 scaladoc 说 HashMap.toArray 返回 Array[A] 而不是 Array[(A,B)]?