The newly refactored XDoclet no longer has you specify the classpath in the the task element.  It appears that that function is satisfied by the classpath element in the <taskdef> element.  However even though my class path includes jboss-jmx.jar which contains the javax.management.ObjectName class, I am getting a NoClassDefFoundError for javax.management.ObjectName, even though it is in the classpath.  I've echo'ed it.  Its there.  Am I misunderstanding why I am getting this error or what the classpath attribute does?  Please.  Help.  Thank you.

Fred.


The build.xml looks as follows:

    <taskdef name="xdoclet" classname="xdoclet.modules.ejb.EjbDocletTask"
                classpath="${xdoclet.task.classpath}"/>
    <xdoclet destdir="${build.gen-src}"
             ejbspec="1.1"
             excludedtags="@version,@author">
      <fileset dir="${source.java}">
        <include name="org/jboss/management/mejb/*Bean.java"/>
        <exclude name="org/jboss/management/mejb/*MBean.java"/>
      </fileset>
      <packageSubstitution packages="ejb" substituteWith="interfaces"/>
      <remoteinterface/>
      <!--AS not clear why now a home interface is generated <homeinterface/> -->
      <session/>
      <deploymentdescriptor xmlencoding="UTF-8" destdir="${build.gen-src}/META-INF"/>
      <jboss xmlencoding="UTF-8" destdir="${build.gen-src}/META-INF"/>
    </xdoclet>


Here is the exception:

  [xdoclet] Running <remoteinterface/>
  [xdoclet] Generating Remote interface for 'org.jboss.management.mejb.ManagementBean'.
  [xdoclet] (TemplateEngine.invokeMethod         483 ) Invoking method failed: xdoclet.tagshandler.ClassTagsHandler.importedList, line=6 of
template file: jar:file:D:\Multideck\JBoss3.1\jboss-all\thirdparty\xdoclet\xdoclet\lib\xdoclet-ejb-module.jar!/xdoclet/modules/ejb/intf/reso
urces/remote.xdt
  [xdoclet] java.lang.reflect.InvocationTargetException:
  [xdoclet] java.lang.NoClassDefFoundError: javax/management/ObjectName
  [xdoclet]     at java.lang.Class.getMethods0(Native Method)
  [xdoclet]     at java.lang.Class.getDeclaredMethods(Class.java:1034)
  [xdoclet]     at xjavadoc.BinaryClass.setMethods(BinaryClass.java:170)
  [xdoclet]     at xjavadoc.BinaryClass.complete(BinaryClass.java:119)
  [xdoclet]     at xjavadoc.XJavaDoc.getXClass(XJavaDoc.java:404)
  [xdoclet]     at xjavadoc.SourceClass.qualify(SourceClass.java:297)
  [xdoclet]     at xjavadoc.AbstractClass.getImportedClasses(AbstractClass.java:308)
  [xdoclet]     at xdoclet.tagshandler.ClassTagsHandler.importedList(ClassTagsHandler.java:671)
  [xdoclet]     at java.lang.reflect.Method.invoke(Native Method)
  [xdoclet]     at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:577)
  [xdoclet]     at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:476)
  [xdoclet]     at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:556)
  [xdoclet]     at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:428)
  [xdoclet]     at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:324)
  [xdoclet]     at xdoclet.template.TemplateEngine.start(TemplateEngine.java:373)
  [xdoclet]     at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:777)
  [xdoclet]     at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:719)
  [xdoclet]     at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:611)
  [xdoclet]     at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:551)
  [xdoclet]     at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:489)
  [xdoclet]     at xdoclet.XDocletMain.start(XDocletMain.java:46)
  [xdoclet]     at xdoclet.DocletTask.start(DocletTask.java:347)
  [xdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:66)
  [xdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java)
  [xdoclet]     at org.apache.tools.ant.Task.perform(Task.java)
  [xdoclet]     at org.apache.tools.ant.Target.execute(Target.java)
  [xdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java)
  [xdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java)
  [xdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java)
  [xdoclet]     at org.apache.tools.ant.Main.runBuild(Main.java)
  [xdoclet]     at org.apache.tools.ant.Main.start(Main.java)
  [xdoclet]     at org.apache.tools.ant.Main.main(Main.java)
  [xdoclet] (XDocletMain.start                   51  ) Running XDoclet failed.
  [xdoclet] (XDocletMain.start                   52  ) <<Running XDoclet failed.>>
  [xdoclet] xdoclet.template.TemplateException: Invoking method in class xdoclet.tagshandler.ClassTagsHandler failed: importedList, line=6 o
f template file: jar:file:D:\Multideck\JBoss3.1\jboss-all\thirdparty\xdoclet\xdoclet\lib\xdoclet-ejb-module.jar!/xdoclet/modules/ejb/intf/re
sources/remote.xdt, exception: null
  [xdoclet]     at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.java:484)
  [xdoclet]     at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateEngine.java:556)
  [xdoclet]     at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java:428)
  [xdoclet]     at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:324)
  [xdoclet]     at xdoclet.template.TemplateEngine.start(TemplateEngine.java:373)
  [xdoclet]     at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:777)
  [xdoclet]     at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java:719)
  [xdoclet]     at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.java:611)
  [xdoclet]     at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:551)
  [xdoclet]     at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:489)
  [xdoclet]     at xdoclet.XDocletMain.start(XDocletMain.java:46)
  [xdoclet]     at xdoclet.DocletTask.start(DocletTask.java:347)
  [xdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:66)
  [xdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java)
  [xdoclet]     at org.apache.tools.ant.Task.perform(Task.java)
  [xdoclet]     at org.apache.tools.ant.Target.execute(Target.java)
  [xdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java)
  [xdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java)
  [xdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java)
  [xdoclet]     at org.apache.tools.ant.Main.runBuild(Main.java)
  [xdoclet]     at org.apache.tools.ant.Main.start(Main.java)
  [xdoclet]     at org.apache.tools.ant.Main.main(Main.java)

Reply via email to