Javadoc: аннотации из сторонних библиотек - PullRequest
2 голосов
/ 15 марта 2011

Я пытаюсь написать хук SVN Post-Commit для генерации Javadoc на веб-странице всякий раз, когда кто-то отправляет какие-либо изменения в соответствующие файлы.

Я был новичком в концепции хуков, но не ожидал появления каких-либо странных ошибок при генерации Javadoc.

java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl cannot be cast to com.sun.javadoc.AnnotationTypeDoc
    at com.sun.tools.javadoc.AnnotationDescImpl.annotationType(AnnotationDescImpl.java:46)
    at com.sun.tools.doclets.internal.toolkit.util.Util.isDeprecated(Util.java:811)
    at com.sun.tools.doclets.formats.html.AbstractIndexWriter.printComment(AbstractIndexWriter.java:186)

После нескольких успешных поисков в StackOverFlow я обнаружил, что это как-то связано со сторонними аннотациями. (Я использую платформу Play, которая использует ряд других библиотек)

Итак, я включил в скрипт все:

#!/bin/sh

CLASSPATH="~/Play/play-1.1.1/;"

javadoc -d ~/svndoc/ -classpath $CLASSPATH -sourcepath ~/svntest/avon/trunk/ScoreDB/app @packages

Но это приводит к точно таким же ошибкам. Иногда есть 10 предупреждений, но в большинстве случаев их 27.

Не могли бы вы, ребята, помочь мне?

Заранее спасибо, Jasper

1 Ответ

1 голос
/ 15 марта 2011

Ваш classpath выглядит неправильно. Во-первых, в нем не должно быть ; (в Unix разделитель равен :, но в конце он не нужен). Во-вторых, действительно ли у вас есть отдельные файлы классов в этом каталоге? Если есть файлы jar, вам нужно либо перечислить их по отдельности, либо поставить туда * (но обратите внимание, что bash не расширяет его, так как вам потребуется : вместо пробелов между ними). ​​

Я понятия не имею, решит ли это проблему, хотя.

...