2012-05-04 2 views
0
내가 다음 문제로 실행하고

:javadoc의 도크 렛 libs와 : 잘못된 패키지 이름 또는 ClassCastException이 그것을 실행

내가 콘솔에서 내 자신의 아름다운 도크 렛을 실행하려합니다 (윈도우 7) :

javadoc com.mypackages.api -sourcepath ./src/main/java/ 
예외의 산 날 리드

:

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.PackageWriterImpl.writeClassesSummary(PackageWriterImpl.java:114) 

(항상 같은 것).

그런 다음 StackOverflow 누군가가 타사 라이브러리와 함께 주석 문제 (StackOverFlow: Why am I getting a ClassCastException when generating javadocs?)라고 여기에서 발견했습니다. 이 솔루션은 클래스 패스에 주석으로 해당 라이브러리를 추가하는 것으로 보았다, 그래서 나는 다음 줄 runned :

javadoc com.mindmatics.mcashwebservice.remote.api -sourcepath ./src/main/java/ -docletpath ./all-libs/*.jar 

을 그리고 지금은 다음 오류 받고 있어요 : 포함 된 모든 libs와 함께

javadoc: error - Illegal package name: "./all-libs/webservice-commons-1.0.2-SNAPSHOT.jar" 

을 all-libs 디렉토리에 있습니다. 아무에게도 내가 뭘 잘못 설명 할 수 있니? 대단히 감사합니다

PS :-) : 당신의 목표 경로를 보면 JDK 1.6

답변

1

을 사용하고 있습니다 : ./all-libs/*.jar

이 적절한 패키지 될 수 없습니다 불행하게도 그 안에 하이픈이있는 이름. 하이픈을 제거하거나 밑줄로 변환해야합니다.

+0

감사합니다. 그러나 "docletpath"를 사용하면 디렉토리에 항아리를 추가 할 수 있다고 생각했습니다. (즉, ./all-libs/는 패키지 이름이 아닌 모든 libs 디렉토리입니다). – raspayu

1

*.jar 나를 위해 -classpath dir1/1.jar:dir2/2.jar 작품으로 1.jar 2.jar ...
목록 jar 파일에 쉘에 의해 확장되어 보인다.