2011-03-15 2 views
2

누군가 관련 파일에 대한 변경 사항을 제출할 때마다 웹 페이지에서 javadoc을 생성하기 위해 SVN 포스트 커밋 후크를 작성하려고합니다.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) 

나는 그것이 타사-주석을 함께 할 수있는 뭔가를 발견했다.

#!/bin/sh 

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

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

그러나 이것은 동일한 오류가 발생하는 경우를

그래서 나는 스크립트에서 모든 것을 포함 (필자는 플레이 프레임 워크를 사용할 수 있도록하고 다른 라이브러리의 번호를 사용합니다). 때로는 10 가지 경고가 있지만 대부분의 경우 27 가지 경고가 있습니다.

내가 도와 줄 수 있겠 니? 사전에

감사합니다, 재스퍼

+1

@razlebe 제목에서 "Javadoc :"을 제거해도 개선되지 않습니다. "서드 파티 라이브러리의 주석"은 문맥 없이는 끔찍한 제목입니다. –

+0

@Pascal 귀하의 의견에 감사드립니다. 나는 Meta에 대한 질문에 대한 일반적인 느낌에 맞게 제목의 질문에 의사 태그를 추가하는 것이 바람직하지 않은 것으로 편집했습니다. 틀림없이, 나는 더 나은 표현을 발견 할 수 있었다. – razlebe

답변

1

클래스 경로가 잘못 보인다. 먼저, ;이 없어야합니다 (유닉스에서는 구분자가 :이지만 마지막에는 필요하지 않습니다). 둘째,이 디렉토리에 개별 클래스 파일이 실제로 있습니까? jar 파일이있는 경우 개별적으로 나열하거나 *을 입력해야합니다 (bash는 파일을 확장하지 않으므로 공백 대신 :이 필요하므로주의해야합니다).

비록 이것이 문제를 해결할 지 모르겠다.

+0

classpath가 .jar 파일을 재귀 적으로 검색하지 않았다는 것을 알지 못했습니다. 그게 해결 됐어! – Jasper