2011-06-08 89 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文件中工作?