我正在尝试将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
答案 0 :(得分:0)
我遇到了类似的问题。虽然doclava wiki强调检查JAVA_HOME环境变量是否正确设置,但我在bootclasspath中添加了没有环境变量的路径,例如:
启动类路径= “/ usr / lib中/ JVM / JAVA -6-太阳1.6.0.24 / JRE / LIB / rt.jar中”
这解决了我的问题(我知道这不是一个优雅的解决方案,而是一个快速修复)。您可能可以检查环境变量是否在build.xml文件中有效?