Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何强制SBT使用Javadoc而不是Scaladoc?_Scala_Sbt - Fatal编程技术网

如何强制SBT使用Javadoc而不是Scaladoc?

如何强制SBT使用Javadoc而不是Scaladoc?,scala,sbt,Scala,Sbt,我有一个基于Java的Play&Akka项目,它是用SBT构建的,在构建项目时,有没有办法告诉SBT运行Javadoc而不是Scaladoc?SBT文件中说 如果项目中只有Java源,sbt将运行javadoc。如果有任何Scala源,sbt将运行scaladoc 项目中没有Scala文件,但Scaladoc仍在运行。我假设这是因为Play插件正在编译之前将视图模板和conf/routes文件转换为Scala代码。您可以尝试集成到sbt中,以便生成javadoc ScalaDoc仍然可以使用正常

我有一个基于Java的Play&Akka项目,它是用SBT构建的,在构建项目时,有没有办法告诉SBT运行Javadoc而不是Scaladoc?SBT文件中说

如果项目中只有Java源,sbt将运行javadoc。如果有任何Scala源,sbt将运行scaladoc


项目中没有Scala文件,但Scaladoc仍在运行。我假设这是因为Play插件正在编译之前将视图模板和
conf/routes
文件转换为Scala代码。

您可以尝试集成到sbt中,以便生成javadoc

ScalaDoc仍然可以使用正常的
doc
任务生成,
而JavaDoc可以使用genjavadoc:doc生成


tl;dr更改(Compile,doc)中的
源代码以排除
*.scala
文件,这样scaladoc就不会生效

正如您可以在(Compile,doc)中阅读到的
源文件
保存项目中的所有托管和非托管源文件:

> inspect compile:doc::sources
[info] Task: scala.collection.Seq[java.io.File]
[info] Description:
[info]  All sources, both managed and unmanaged.
使用一些
过滤器
ing,您可以非常轻松地实现目标-在
build.sbt
中使用以下内容:

sources in (Compile, doc) <<= sources in (Compile, doc) map { _.filterNot(_.getName endsWith ".scala") }

和允许的另一种方法是让
scaladoc
运行!它将处理javadoc注释

Scaladoc已经处理Java源代码并为它们生成Scaladoc。
它只是忽略了文档注释

出于各种原因,我们的许多Scala代码库中至少包含一些Java。
如果Scaladoc能够为这些混合代码库生成完整的文档,包括所有文档注释,那就太好了

// display current setting's value
> show compile:doc::sources
[info] ArrayBuffer(/Users/jacek/sandbox/sbt-learning-space/src/main/scala/x.scala, /Users/jacek/sandbox/sbt-learning-space/src/main/java/Hello.java)
[success] Total time: 0 s, completed Aug 24, 2014 9:31:34 PM

// generate docs - scaladoc kicks in since there are scala files
> doc
[info] Updating {file:/Users/jacek/sandbox/sbt-learning-space/}sbt-learning-space...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[info] Main Scala API documentation to /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api...
model contains 3 documentable templates
[info] Main Scala API documentation successful.
Hello
[success] Total time: 1 s, completed Aug 24, 2014 9:32:15 PM

// change the value of sources in the current session only - use session save to retain it
> set sources in (Compile, doc) <<= sources in (Compile, doc) map { _.filterNot(_.getName endsWith ".scala") }
[info] Defining compile:doc::sources
[info] The new value will be used by compile:doc
[info] Reapplying settings...
[info] Set current project to hello (in build file:/Users/jacek/sandbox/sbt-learning-space/)

// display current setting's value - it only holds the single java file
> show compile:doc::sources
[info] ArrayBuffer(/Users/jacek/sandbox/sbt-learning-space/src/main/java/Hello.java)
[success] Total time: 0 s, completed Aug 24, 2014 9:33:23 PM

// generate docs - javadoc is properly generated
> doc
[info] Main Java API documentation to /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api...
[info] Loading source file /Users/jacek/sandbox/sbt-learning-space/src/main/java/Hello.java...
[info] Constructing Javadoc information...
[info] Standard Doclet version 1.7.0_65
[info] Building tree for all the packages and classes...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/Hello.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/package-frame.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/package-summary.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/package-tree.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/constant-values.html...
[info] Building index for all the packages and classes...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/overview-tree.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/index-all.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/deprecated-list.html...
[info] Building index for all classes...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/allclasses-frame.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/allclasses-noframe.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/index.html...
[info] Generating /Users/jacek/sandbox/sbt-learning-space/target/scala-2.10/api/help-doc.html...
[info] Main Java API documentation successful.
Hello
[success] Total time: 1 s, completed Aug 24, 2014 9:34:01 PM