Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ant JavaDoc任务从自定义标记内抛出'NoClassDefFoundError',即使类*在类路径上_Java_Ant_Classpath_Javadoc_Taglet - Fatal编程技术网

Ant JavaDoc任务从自定义标记内抛出'NoClassDefFoundError',即使类*在类路径上

Ant JavaDoc任务从自定义标记内抛出'NoClassDefFoundError',即使类*在类路径上,java,ant,classpath,javadoc,taglet,Java,Ant,Classpath,Javadoc,Taglet,我在JavaDoc Ant任务中遇到问题。它给了我一个java.lang.NoClassDefFoundError,就我所知,这个类肯定在类路径上。根据,当类在编译期间存在,但在运行时找不到时,会抛出NoClassDefFoundError。(一) 当我删除classpath项时,它会像预期的那样失败(许多包/符号未找到错误),并且仍然给出相同的NoClassDefFoundError。为什么无论类是否在类路径上,标记都会失败 具体内容: 它找不到的类名为com.github.xbn.io.S

我在JavaDoc Ant任务中遇到问题。它给了我一个
java.lang.NoClassDefFoundError
,就我所知,这个类肯定在类路径上。根据,当类在编译期间存在,但在运行时找不到时,会抛出
NoClassDefFoundError
。(一)

当我删除classpath项时,它会像预期的那样失败(许多包/符号未找到错误),并且仍然给出相同的
NoClassDefFoundError
。为什么无论类是否在类路径上,标记都会失败


具体内容:

它找不到的类名为
com.github.xbn.io.SimpleDebugable
,它位于这个jar文件中:

  • Jar文件:
    C:\data\u jeffy\programming\sandbox\z\u for\u git\u commit\u only\codelet\z\u build\Jar\u dependencies\xbnjava-0.1.4.2-all.Jar

JavaDoc Ant任务。上面的jar文件是类路径中的第一项

<target name="doca" description="Generates javadoc documentation.">
   <property name="jar_base_dir" value="C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\z_build\jar_dependencies\"/>
   <property name="taglet_jar" value="C:\data_jeffy\programming\build\codelet-0.1.4.1\download\codelet-0.1.4.1-all.jar"/>

   <javadoc
      packagenames="com.github.aliteralmind.codelet,com.github.aliteralmind.codelet.alter,com.github.aliteralmind.codelet.simplesig,com.github.aliteralmind.codelet.taglet,com.github.aliteralmind.codelet.type,com.github.aliteralmind.codelet.util"
      defaultexcludes="yes"
      destdir="C:\data_jeffy\programming\build\codelet-0.1.4.1\documentation\javadoc"
      splitindex="true"
      additionalparam="-J-Dcodelet_config_dir=C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\codelet_config\"
      classpath="${jar_base_dir}xbnjava-0.1.4.2-all.jar;
      C:\data_jeffy\programming\build\codelet-0.1.4.1\download\codelet-0.1.4.1-all.jar;
      ${jar_base_dir}templatefeather-0.1.1.2-all.jar;
      ${jar_base_dir}commons-io-2.4.jar;
      ${jar_base_dir}guava-16.0.1.jar;
      ${jar_base_dir}jdk_751__tools__contains_com_sun.jar"
   >
      <sourcepath>
          <pathelement path="C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src"/>
      </sourcepath>
      <!-- Custom taglets-->
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletTaglet"
            path="${taglet_jar}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletDotOutTaglet"
            path="${taglet_jar}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletAndOutTaglet"
            path="${taglet_jar}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.FileTextletTaglet"
            path="${taglet_jar}"/>
   </javadoc>
</target>
全输出:

[C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet]ant docx
Buildfile: C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\build.xml

docx:
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Loading source files for package com.github.aliteralmind.codelet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.alter...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.simplesig...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.taglet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.type...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.util...
  [javadoc] Constructing Javadoc information...
  [javadoc] 1 error
  [javadoc] javadoc: error - In doclet class com.sun.tools.doclets.standard.Standard, method start has thrown an exception java.lang.reflect.InvocationTargetException
  [javadoc] java.lang.NoClassDefFoundError: com/github/xbn/io/SimpleDebuggable
  [javadoc]     at java.lang.ClassLoader.defineClass1(Native Method)
  [javadoc]     at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
  [javadoc]     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
  [javadoc]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
  [javadoc]     at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  [javadoc]     at java.security.AccessController.doPrivileged(Native Method)
  [javadoc]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.wasLoaded(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.loadConfiguration(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.<clinit>(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.taglet.CodeletTaglet.<clinit>(Unknown Source)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  [javadoc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [javadoc]     at java.lang.reflect.Method.invoke(Method.java:606)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.taglets.TagletManager.addCustomTag(TagletManager.java:219)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.initTagletManager(Configuration.java:466)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.setOptions(Configuration.java:437)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.setOptions(Configuration.java:447)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:120)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:83)
  [javadoc]     at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:63)
  [javadoc]     at com.sun.tools.doclets.standard.Standard.start(Standard.java:39)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  [javadoc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [javadoc]     at java.lang.reflect.Method.invoke(Method.java:606)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:280)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:160)
  [javadoc]     at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:397)
  [javadoc]     at com.sun.tools.javadoc.Start.begin(Start.java:167)
  [javadoc]     at com.sun.tools.javadoc.Main.execute(Main.java:59)
  [javadoc]     at com.sun.tools.javadoc.Main.main(Main.java:49)
  [javadoc] Caused by: java.lang.ClassNotFoundException: com.github.xbn.io.SimpleDebuggable
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  [javadoc]     at java.security.AccessController.doPrivileged(Native Method)
  [javadoc]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  [javadoc]     ... 37 more

BUILD SUCCESSFUL
Total time: 1 second
docb:
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Loading source files for package com.github.aliteralmind.codelet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.alter...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.simplesig...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.taglet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.type...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.util...
  [javadoc] Constructing Javadoc information...
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException
  thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.CodeletTaglet...
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException
  thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.CodeletDotOutTaglet...
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException
  thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.CodeletAndOutTaglet...
  [javadoc] Standard Doclet version 1.7.0_72
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.FileTextletTaglet...
  [javadoc] Building tree for all the packages and classes...
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:90:
  warning - @.codelet is an unknown tag.

  ...lots of lines deleted...

  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\util\JavaDocUtil.java:185:
  warning - @.codelet.and.out is an unknown tag.
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\util\JavaDocUtil.java:185:
  warning - @.codelet.and.out is an unknown tag.
  [javadoc] Building index for all the packages and classes...
  [javadoc] Building index for all classes...
  [javadoc] Generating C:\data_jeffy\programming\build\codelet-0.1.4.1\documentation\javadoc\help-doc.html...
  [javadoc] 4 errors
  [javadoc] 57 warnings

BUILD SUCCESSFUL
Total time: 2 seconds
继续(删除约1500行):

继续:最后,它给出了与jar在类路径中时相同的错误:

[C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet]ant docx
Buildfile: C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\build.xml

docx:
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Loading source files for package com.github.aliteralmind.codelet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.alter...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.simplesig...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.taglet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.type...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.util...
  [javadoc] Constructing Javadoc information...
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:18: error: package com.github.xbn.linefilter.alter does not exist

  [javadoc]     import  com.github.xbn.linefilter.alter.TextLineAlterer;
  [javadoc]                                            ^
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:19: error: package com.github.xbn.linefilter does not exist
  [javadoc]     import  com.github.xbn.linefilter.FilteredLineIterator;
  [javadoc]                                      ^
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:20: error: package com.github.xbn.analyze.alter does not exist
  [javadoc]     import  com.github.xbn.analyze.alter.ExpirableElements;
  [javadoc]                                         ^
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:21: error: package com.github.xbn.analyze.alter does not exist
  [javadoc]     import  com.github.xbn.analyze.alter.MultiAlterType;
  [javadoc]                                         ^
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:22: error: package com.github.xbn.array does not exist
  [javadoc]     import  com.github.xbn.array.NullElement;
  [javadoc]                                 ^
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:23: error: package com.github.xbn.lang does not exist
  [javadoc]     import  com.github.xbn.lang.IllegalArgumentStateException;
  [javadoc]                                ^
  [javadoc] javadoc: error - In doclet class com.sun.tools.doclets.standard.Standard,
  method start has thrown an exception java.lang.reflect.InvocationTargetException
  [javadoc] java.lang.NoClassDefFoundError: com/github/xbn/io/SimpleDebuggable
  [javadoc]     at java.lang.ClassLoader.defineClass1(Native Method)
  [javadoc]     at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
  [javadoc]     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
  [javadoc]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
  [javadoc]     at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  [javadoc]     at java.security.AccessController.doPrivileged(Native Method)
  [javadoc]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.wasLoaded(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.loadConfiguration(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.<clinit>(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.taglet.CodeletTaglet.<clinit>(Unknown Source)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  [javadoc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [javadoc]     at java.lang.reflect.Method.invoke(Method.java:606)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.taglets.TagletManager.addCustomTag(TagletManager.java:219)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.initTagletManager(Configuration.java:466)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.setOptions(Configuration.java:437)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.setOptions(Configuration.java:447)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:120)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:83)
  [javadoc]     at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:63)
  [javadoc]     at com.sun.tools.doclets.standard.Standard.start(Standard.java:39)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  [javadoc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [javadoc]     at java.lang.reflect.Method.invoke(Method.java:606)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:280)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:160)
  [javadoc]     at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:397)
  [javadoc]     at com.sun.tools.javadoc.Start.begin(Start.java:167)
  [javadoc]     at com.sun.tools.javadoc.Main.execute(Main.java:59)
  [javadoc]     at com.sun.tools.javadoc.Main.main(Main.java:49)
  [javadoc] Caused by: java.lang.ClassNotFoundException: com.github.xbn.io.SimpleDebuggable
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  [javadoc]     at java.security.AccessController.doPrivileged(Native Method)
  [javadoc]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  [javadoc]     ... 37 more

BUILD SUCCESSFUL
Total time: 1 second
现在的问题是,这个错误似乎正被JavaDoc“吞没”。我不知道如何查看
java.lang.ClassNotFoundException
的跟踪

全输出:

[C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet]ant docx
Buildfile: C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\build.xml

docx:
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Loading source files for package com.github.aliteralmind.codelet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.alter...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.simplesig...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.taglet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.type...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.util...
  [javadoc] Constructing Javadoc information...
  [javadoc] 1 error
  [javadoc] javadoc: error - In doclet class com.sun.tools.doclets.standard.Standard, method start has thrown an exception java.lang.reflect.InvocationTargetException
  [javadoc] java.lang.NoClassDefFoundError: com/github/xbn/io/SimpleDebuggable
  [javadoc]     at java.lang.ClassLoader.defineClass1(Native Method)
  [javadoc]     at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
  [javadoc]     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
  [javadoc]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
  [javadoc]     at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  [javadoc]     at java.security.AccessController.doPrivileged(Native Method)
  [javadoc]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.wasLoaded(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.loadConfiguration(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.CodeletBootstrap.<clinit>(Unknown Source)
  [javadoc]     at com.github.aliteralmind.codelet.taglet.CodeletTaglet.<clinit>(Unknown Source)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  [javadoc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [javadoc]     at java.lang.reflect.Method.invoke(Method.java:606)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.taglets.TagletManager.addCustomTag(TagletManager.java:219)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.initTagletManager(Configuration.java:466)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.setOptions(Configuration.java:437)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.Configuration.setOptions(Configuration.java:447)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:120)
  [javadoc]     at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:83)
  [javadoc]     at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:63)
  [javadoc]     at com.sun.tools.doclets.standard.Standard.start(Standard.java:39)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  [javadoc]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  [javadoc]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  [javadoc]     at java.lang.reflect.Method.invoke(Method.java:606)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:280)
  [javadoc]     at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:160)
  [javadoc]     at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:397)
  [javadoc]     at com.sun.tools.javadoc.Start.begin(Start.java:167)
  [javadoc]     at com.sun.tools.javadoc.Main.execute(Main.java:59)
  [javadoc]     at com.sun.tools.javadoc.Main.main(Main.java:49)
  [javadoc] Caused by: java.lang.ClassNotFoundException: com.github.xbn.io.SimpleDebuggable
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
  [javadoc]     at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
  [javadoc]     at java.security.AccessController.doPrivileged(Native Method)
  [javadoc]     at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
  [javadoc]     at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
  [javadoc]     ... 37 more

BUILD SUCCESSFUL
Total time: 1 second
docb:
  [javadoc] Generating Javadoc
  [javadoc] Javadoc execution
  [javadoc] Loading source files for package com.github.aliteralmind.codelet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.alter...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.simplesig...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.taglet...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.type...
  [javadoc] Loading source files for package com.github.aliteralmind.codelet.util...
  [javadoc] Constructing Javadoc information...
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException
  thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.CodeletTaglet...
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException
  thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.CodeletDotOutTaglet...
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException
  thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.CodeletAndOutTaglet...
  [javadoc] Standard Doclet version 1.7.0_72
  [javadoc] javadoc: error - Error - Exception java.lang.ClassNotFoundException thrown while trying to register Taglet com.github.aliteralmind.codelet.taglet.FileTextletTaglet...
  [javadoc] Building tree for all the packages and classes...
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\BasicCustomizers.java:90:
  warning - @.codelet is an unknown tag.

  ...lots of lines deleted...

  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\util\JavaDocUtil.java:185:
  warning - @.codelet.and.out is an unknown tag.
  [javadoc] C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src\com\github\aliteralmind\codelet\util\JavaDocUtil.java:185:
  warning - @.codelet.and.out is an unknown tag.
  [javadoc] Building index for all the packages and classes...
  [javadoc] Building index for all classes...
  [javadoc] Generating C:\data_jeffy\programming\build\codelet-0.1.4.1\documentation\javadoc\help-doc.html...
  [javadoc] 4 errors
  [javadoc] 57 warnings

BUILD SUCCESSFUL
Total time: 2 seconds

对于详细的输出:

问题在于小标记路径。类路径必须冗余地传递到主JavaDoc任务和每个自定义标记中。标记必须每个都有不同的类加载器,因此需要重复的类路径

<target name="doca" description="Generates javadoc documentation.">
   <property name="jar_base_dir" value="C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\z_build\jar_dependencies\"/>
   <property name="taglet_jar" value="C:\data_jeffy\programming\build\codelet-0.1.4.1\download\codelet-0.1.4.1-all.jar"/>

   <javadoc
      packagenames="com.github.aliteralmind.codelet,com.github.aliteralmind.codelet.alter,com.github.aliteralmind.codelet.simplesig,com.github.aliteralmind.codelet.taglet,com.github.aliteralmind.codelet.type,com.github.aliteralmind.codelet.util"
      defaultexcludes="yes"
      destdir="C:\data_jeffy\programming\build\codelet-0.1.4.1\documentation\javadoc"
      splitindex="true"
      additionalparam="-J-Dcodelet_config_dir=C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\codelet_config\"
      classpath="${jar_base_dir}xbnjava-0.1.4.2-all.jar;
      C:\data_jeffy\programming\build\codelet-0.1.4.1\download\codelet-0.1.4.1-all.jar;
      ${jar_base_dir}templatefeather-0.1.1.2-all.jar;
      ${jar_base_dir}commons-io-2.4.jar;
      ${jar_base_dir}guava-16.0.1.jar;
      ${jar_base_dir}jdk_751__tools__contains_com_sun.jar"
   >
      <sourcepath>
          <pathelement path="C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src"/>
      </sourcepath>
      <!-- Custom taglets-->
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletTaglet"
            path="${taglet_jar}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletDotOutTaglet"
            path="${taglet_jar}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletAndOutTaglet"
            path="${taglet_jar}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.FileTextletTaglet"
            path="${taglet_jar}"/>
   </javadoc>
</target>
ant没有明确指出这是一个类路径,这让我很困惑:

指定taglet类(例如/home/taglet)的搜索路径的路径。路径也可以由嵌套元素指定

工作目标:

<target name="docc" description="Generates javadoc documentation.">

   <property name="jar_base_dir" value="C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\z_build\jar_dependencies\"/>
   <property name="taglet_base_dir" value="C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\bin\"/>
   <property name="javadoc_classpath"
      value="${jar_base_dir}xbnjava-0.1.4.2-all.jar;C:\data_jeffy\programming\build\codelet-0.1.4.1\download\codelet-0.1.4.1-all.jar;${jar_base_dir}templatefeather-0.1.1.2-all.jar;${jar_base_dir}commons-io-2.4.jar;${jar_base_dir}guava-16.0.1.jar;${jar_base_dir}jdk_751__tools__contains_com_sun.jar;${jar_base_dir}commons-lang3-3.3.2.jar"/>

   <javadoc
      packagenames="com.github.aliteralmind.codelet,com.github.aliteralmind.codelet.alter,com.github.aliteralmind.codelet.simplesig,com.github.aliteralmind.codelet.taglet,com.github.aliteralmind.codelet.type,com.github.aliteralmind.codelet.util"
      defaultexcludes="yes"
      destdir="C:\data_jeffy\programming\build\codelet-0.1.4.1\documentation\javadoc"
      splitindex="true"
      additionalparam="-J-Dcodelet_config_dir=${dir_sandbox}${codelet.config.dir}${fs}"
      classpath="${javadoc_classpath}"
   >
      <sourcepath>
         <pathelement path="C:\data_jeffy\programming\sandbox\z__for_git_commit_only\codelet\src"/>
      </sourcepath>
      <!-- Custom taglets-->
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletDotOutTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletAndOutTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.FileTextletTaglet"
            path="${javadoc_classpath}"/>
   </javadoc>
</target>

更便携的替代方案:

<target name="docd" description="Generates javadoc documentation.">
   <property name="sandbox_grandparent" value="C:/data_jeffy/programming/"/>
   <property name="sandbox_parent" value="${sandbox_grandparent}sandbox/z__for_git_commit_only/"/>
   <property name="sandbox" value="${sandbox_parent}codelet/"/>

   <path id="project_classpath2">
      <pathelement location="${sandbox_parent}codelet/bin/"/>
      <pathelement location="${sandbox_grandparent}/build/codelet-0.1.4.1/download/codelet-0.1.4.1-all.jar"/>
      <fileset dir="${sandbox}z_build/jar_dependencies/" includes="*.jar"/>
   </path>
   <pathconvert pathsep=";" property="javadoc_classpath" refid="project_classpath2"/>

   <javadoc
      packagenames="com.github.aliteralmind.codelet.*"
      defaultexcludes="yes"
      destdir="${sandbox_grandparent}/build/codelet-0.1.4.1/documentation/javadoc"
      splitindex="true"
      additionalparam="-J-Dcodelet_config_dir=${dir_sandbox}${codelet.config.dir}${fs}"
      classpathref="project_classpath2"
   >
      <sourcepath>
         <pathelement path="${sandbox}src"/>
      </sourcepath>
      <!-- Custom taglets-->
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletDotOutTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletAndOutTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.FileTextletTaglet"
            path="${javadoc_classpath}"/>
   </javadoc>
</target>


您自己构建了这个特殊的Jar吗?是否可能该类文件已损坏或编译为其他(较新)java版本?尝试一个干净的jar构建。@geert3每次调用javadoc目标之前,代码都会被编译和jar编译。我不知道这是否重要,但这里有两个Ant环境变量:
Ant\u HOME=C:\applications\programming\java\apache-Ant-1.9.4
java\u HOME=C:\applications\programming\java\jdk\u 1p7p0\u 72
<target name="docd" description="Generates javadoc documentation.">
   <property name="sandbox_grandparent" value="C:/data_jeffy/programming/"/>
   <property name="sandbox_parent" value="${sandbox_grandparent}sandbox/z__for_git_commit_only/"/>
   <property name="sandbox" value="${sandbox_parent}codelet/"/>

   <path id="project_classpath2">
      <pathelement location="${sandbox_parent}codelet/bin/"/>
      <pathelement location="${sandbox_grandparent}/build/codelet-0.1.4.1/download/codelet-0.1.4.1-all.jar"/>
      <fileset dir="${sandbox}z_build/jar_dependencies/" includes="*.jar"/>
   </path>
   <pathconvert pathsep=";" property="javadoc_classpath" refid="project_classpath2"/>

   <javadoc
      packagenames="com.github.aliteralmind.codelet.*"
      defaultexcludes="yes"
      destdir="${sandbox_grandparent}/build/codelet-0.1.4.1/documentation/javadoc"
      splitindex="true"
      additionalparam="-J-Dcodelet_config_dir=${dir_sandbox}${codelet.config.dir}${fs}"
      classpathref="project_classpath2"
   >
      <sourcepath>
         <pathelement path="${sandbox}src"/>
      </sourcepath>
      <!-- Custom taglets-->
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletDotOutTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.CodeletAndOutTaglet"
            path="${javadoc_classpath}"/>
         <taglet name="com.github.aliteralmind.codelet.taglet.FileTextletTaglet"
            path="${javadoc_classpath}"/>
   </javadoc>
</target>