Отсутствует зависимость "класс javax.annotation.Nullable '

Я пытался использовать jira-rest-java-клиент, предоставленный Atlassian, в программе Scala, которую я разрабатываю. Я использую Eclipse в качестве моей IDE.

Когда у меня есть объект типа Issue, и я пытаюсь посмотреть на свойства, которые я вижу, гораздо меньше свойств, чем объявлено в коде Java.

Я подумал, что, возможно, это было просто Eclipse, не находя все свойства/методы объекта, поэтому я попытался поставить Issue.getSummary() и выполнить компиляцию sbt. Компиляция показала мне эту ошибку:

Отсутствует зависимость "класс javax.annotation.Nullable '

Любые идеи?

Ответ 1

Я нашел ответ в этом выпуске на googlecode: http://code.google.com/p/guava-libraries/issues/detail?id=1095. Чтобы исправить проблему в sbt, вам нужно добавить эту зависимость:

"com.google.code.findbugs" % "jsr305" % "1.3.+"

Ответ 2

Компилятор Scala требует всех классов аннотаций в пути к классам. Поскольку это класс недоступен в пути к классам, компиляция не выполняется. В моем конкретном случае класс не используется приложением. Следовательно, достаточно отключить fatal-warnings в сборке.

В моей built.sbt у меня была следующая строка:

scalacOptions ++= Seq("-Yno-adapted-args", "-Ywarn-dead-code", "-Ywarn-numeric-widen", "-Ywarn-value-discard", "-Xfatal-warnings")

Я удалил "-Xfatal-warnings", и компиляция прошла успешно.