Scaladoc找不到任何要链接外部Java库的成员

Scaladoc找不到任何要链接外部Java库的成员,scala,scaladoc,Scala,Scaladoc,在Scala项目的文档中,我想链接到外部Java库中的成员 /** * Checks whether log entries at [[org.tinylog.Level.TRACE]] will be output. * * @return `true` if [[org.tinylog.Level.TRACE]] level is enabled, `false` if disabled */ def isTraceEnabled(): Boolean = macro TaggedL

在Scala项目的文档中,我想链接到外部Java库中的成员

/**
 * Checks whether log entries at [[org.tinylog.Level.TRACE]] will be output.
 *
 * @return `true` if [[org.tinylog.Level.TRACE]] level is enabled, `false` if disabled
 */
def isTraceEnabled(): Boolean = macro TaggedLoggerMacro.isTraceEnabled
org.tinylog.Level.TRACE
是来自Java项目的枚举值。IntelliJ可以很好地解决所有这些链接,但不幸的是scaladoc失败了

我的命令:

C:\bin\java\jdk-9\bin\java -Xbootclasspath/a:C:\Users\martin\.m2\repository\org\scala-lang\scala-library\2.12.9\scala-library-2.12.9.jar;C:\Users\martin\.m2\repository\org\scala-lang\scala-compiler\2.12.9\scala-compiler-2.12.9.jar;C:\Users\martin\.m2\repository\org\scala-lang\scala-reflect\2.12.9\scala-reflect-2.12.9.jar;C:\Users\martin\.m2\repository\org\scala-lang\modules\scala-xml_2.12\1.0.6\scala-xml_2.12-1.0.6.jar;C:\Users\martin\.m2\repository\org\scala-lang\scala-library\2.12.0\scala-library-2.12.0.jar -classpath C:\Users\martin\.m2\repository\net\alchim31\maven\scala-maven-plugin\4.1.1\scala-maven-plugin-4.1.1.jar scala_maven_executions.MainWithArgsInFile scala.tools.nsc.ScalaDoc C:\data\martin\TEMP\scala-maven-14328178310010851042.args
我的论点是:

-doc-external-doc
"C:\tinylog 2.0\tinylog-api\target\tinylog-api-2.1-SNAPSHOT.jar#https://tinylog.org/v2/javadoc/"
-classpath
C:\Users\martin\.m2\repository\org\scala-lang\scala-library\2.12.9\scala-library-2.12.9.jar;C:\Users\martin\.m2\repository\org\scala-lang\scala-reflect\2.12.9\scala-reflect-2.12.9.jar;C:\Users\martin\.m2\repository\org\tinylog\tinylog-api\2.1-SNAPSHOT\tinylog-api-2.1-SNAPSHOT.jar
-doc-format:html
-doc-title
"tinylog Scala API 2.1-SNAPSHOT API"
-d
"C:\tinylog 2.0\tinylog-api-scala\target\site\scaladocs"
"C:\tinylog 2.0\tinylog-api-scala\src\main\scala\org\tinylog\scala\Logger.scala"
"C:\tinylog 2.0\tinylog-api-scala\src\main\scala\org\tinylog\scala\LoggerMacro.scala"
"C:\tinylog 2.0\tinylog-api-scala\src\main\scala\org\tinylog\scala\TaggedLogger.scala"
"C:\tinylog 2.0\tinylog-api-scala\src\main\scala\org\tinylog\scala\TaggedLoggerMacro.scala"
输出(总共115条警告):

如何从外部Java库正确链接到成员?

如评论中所述,scaladoc不支持链接到Javadoc:

scaladoc的结果不处理Java源代码中的Javadoc注释,也不链接到Javadoc ()

因此,我决定使用外部URL链接外部Java库中的枚举值。这不是很方便,但很有效

/**
 * Checks whether log entries at [[https://tinylog.org/v2/javadoc/org/tinylog/Level.html#TRACE TRACE]] will be output.
 *
 * @return `true` if [[https://tinylog.org/v2/javadoc/org/tinylog/Level.html#TRACE TRACE]] level is enabled, `false` if disabled
 */
def isTraceEnabled(): Boolean = macro LoggerMacro.isTraceEnabled

我认为这是一个解决办法,而不是一个优雅的解决方案。欢迎提供更好的解决方案:)

这是一个
sbt
项目吗?如果我正确解释了这一点,那是不可能的:命令和参数是由scala maven插件生成的。恐怕你是对的,目前无法链接。我简直不敢相信这样一个基本功能不受支持。可能与这个问题类似:
/**
 * Checks whether log entries at [[https://tinylog.org/v2/javadoc/org/tinylog/Level.html#TRACE TRACE]] will be output.
 *
 * @return `true` if [[https://tinylog.org/v2/javadoc/org/tinylog/Level.html#TRACE TRACE]] level is enabled, `false` if disabled
 */
def isTraceEnabled(): Boolean = macro LoggerMacro.isTraceEnabled