Ответ 1
Это не отвечает на вопрос точно так, как было задано, но это решение, которое может быть предпочтительным для смешанных проектов java/ scala, пока ScalaDoc не сможет анализировать комментарии JavaDoc. Он создает единый агрегированный JavaDoc, который также включает документацию из всех исходных файлов проекта Scala.
Решение прост: настройте Maven на использование плагина компилятора GenJavaDoc Scala, чтобы ScalaDocs можно было преобразовать в JavaDocs. Затем используйте обычную цель javadoc:aggregate
, чтобы агрегировать проект как обычно.
Вот пример профиля Maven для этого. Он конфигурирует компилятор Scala для генерации JavaDocs, соответствующих источникам Scala, настраивает Maven для обработки каталога genjavadoc
, созданного компилятором Scala, в качестве исходного каталога, а затем настраивает сам плагин javadoc (этот последний может быть необязательным, если у вас нет специальных требований к настройке плагина JavaDoc).
<profile>
<id>javadoc</id>
<build>
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>scala-maven-plugin</artifactId>
<executions>
<execution>
<id>doc</id>
<phase>generate-sources</phase>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<args>
<arg>-P:genjavadoc:out=${project.build.directory}/genjavadoc</arg>
</args>
<compilerPlugins>
<compilerPlugin>
<groupId>com.typesafe.genjavadoc</groupId>
<artifactId>genjavadoc-plugin_${scala.binary.full.version}</artifactId>
<version>0.4</version>
</compilerPlugin>
</compilerPlugins>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>add-source</goal>
</goals>
<configuration>
<sources>
<source>${project.build.directory}/genjavadoc</source>
</sources>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.9</version>
<configuration>
<minmemory>64m</minmemory>
<maxmemory>2g</maxmemory>
<outputDirectory>${project.build.directory}</outputDirectory>
<detectLinks>true</detectLinks>
</configuration>
</plugin>
</plugins>
</build>
</profile>