将Doclava与Ant和Android结合使用

时间:2011-06-08 16:35:41

标签: android ant javadoc

我正在尝试将Doclava与ant一起用于Android项目,但我在网上找不到任何好的说明。

我有以下代码:

<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

1 个答案:

答案 0 :(得分:0)

我遇到了类似的问题。虽然doclava wiki强调检查JAVA_HOME环境变量是否正确设置,但我在bootclasspath中添加了没有环境变量的路径,例如:

启动类路径= “/ usr / lib中/ JVM / JAVA -6-太阳1.6.0.24 / JRE / LIB / rt.jar中”

这解决了我的问题(我知道这不是一个优雅的解决方案,而是一个快速修复)。您可能可以检查环境变量是否在build.xml文件中有效?