2011-06-08 117 views
3

我正在嘗試爲Android項目使用Doclava和ant,但是我無法在網上找到任何好的說明。與Ant和Android一起使用Doclava

我有下面的代碼:

<javadoc destdir="${local.svn.dir}/@{projectname}/${doc.dir}/" 
     sourcepath="${local.svn.dir}/@{projectname}" 
     docletpath="/home/martyn/build/jars/doclava-1.0.2.jar" 
     bootclasspath="${java.home}/lib/rt.jar"> 
    <doclet name="com.google.doclava.Doclava"> 
     <param name="-hdf"/> <param name="project.name"/> <param name="Doclava"/> 
    </doclet>       
</javadoc> 

但是這是給我的錯誤:

[javadoc] javadoc: error - In doclet 
class com.google.doclava.Doclava, 
method start has thrown an exception 
java.lang.reflect.InvocationTargetException 
[javadoc] 
java.lang.NullPointerException 
[javadoc] at com.google.doclava.Hierarchy.recurse(Hierarchy.java:102) 
[javadoc] at com.google.doclava.Hierarchy.makeHierarchy(Hierarchy.java:61) 
[javadoc] at com.google.doclava.Doclava.writeHierarchy(Doclava.java:1000) 
[javadoc] at com.google.doclava.Doclava.start(Doclava.java:346) 
[javadoc] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
[javadoc] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
[javadoc] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
[javadoc] at java.lang.reflect.Method.invoke(Method.java:597) 
[javadoc] at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269) 
[javadoc] at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143) 
[javadoc] at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340) 
[javadoc] at com.sun.tools.javadoc.Start.begin(Start.java:128) 
[javadoc] at com.sun.tools.javadoc.Main.execute(Main.java:41) 
[javadoc] at com.sun.tools.javadoc.Main.main(Main.java:31) 

有誰知道我可以解決這一問題?

編輯:
我得到這個問題doclava 1.0.2和1.0.3

java.home =/usr/lib目錄/ JVM/JAVA-6-太陽1.6.0.24/JRE

回答

0

我有類似的問題。雖然doclava wiki強調檢查是否正確設置了JAVA_HOME環境變量,但我在bootclasspath中添加了沒有環境變量的路徑,例如:

bootclasspath =「/ usr/lib/jvm/java-6-sun- 1.6.0.24/jre/lib/rt.jar「

這解決了我的問題(我知道這不是一個優雅的解決方案,而是一個快速修復)。你可能會檢查你的環境變量是否在你的build.xml文件中工作?