#scala #scaladoc
Вопрос:
В ScalaDoc я хочу иметь ссылку на аннотацию из библиотеки: дискриминатор.
Мой СкалаДок:
/** Trait must be marked with [[json.schema.discriminator]] annotation. */
Но генерация ScalaDoc завершается со следующей ошибкой:
Could not find any member to link for "json.schema.discriminator".
UPD:
Оказалось, что ошибки были из -Xfatal-warnings
-за опции scalac.
Как только стало ясно, я нашел плагин sbt-api-сопоставления SBT, который разрешает все внешние ссылки с помощью javadoc.io.
Комментарии:
1. Конечно, я должен это сделать, потому что я использую эту аннотацию. Вероятно, проблема здесь в том, что аннотация (в стиле Scala) должна начинаться со строчной буквы.
2. К сожалению, нет: аннотации дискриминатора находятся в пакете json.schema. Поэтому я указываю полное имя.
Ответ №1:
Вы, вероятно, не найдете его, потому что вы не импортировали правильный пакет. Пожалуйста, обратите внимание, что json.schema.discriminator
класс является частью "scala-jsonschema-core"
пакета.
Поэтому вам необходимо добавить в свой build.sbt
:
name := "StackOverflow"
version := "0.1"
scalaVersion := "2.13.6"
libraryDependencies = "com.github.andyglow" %% "scala-jsonschema-core" % "0.7.6"
libraryDependencies = "com.github.andyglow" %% "scala-jsonschema-core" % "0.7.6" classifier "javadoc"
Тогда вы можете использовать его так же, как вы пытались:
/** Trait must be marked with [[json.schema.discriminator]] annotation. */
Тогда sbt doc
работает:
Комментарии:
1. И теперь все стало более ясным. Спасибо. Оказалось, что у меня включена опция-Xfatal-предупреждения scalac. Без этого ScalaDoc-это просто предупреждение.