Has anyone run across this problem when trying to define a custom tag handler in 
version 1.2b3? I'm trying to test the insertion and use of a simple custom tag handler 
using the template TagDef tag.

The custom tag handler extends XDocletTagSupport and I have the following line in my 
target template file (my own version of entitycmp.xdt):

<XDtTagDef:tagDef namespace="FdasEjb" 
handler="myxdoclet.resources.fdas.xdoclet.handler.FdasEjbTagsHandler"/>

I'm using the EjbDocletTask and I have the following subtask defined:

            <entitycmp
                templateFile="${fdas.xdoclet.template.dir}/entitycmp.xdt"/> 

My ant ejbdoclet task is defined with the following line:

        <taskdef
            name="ejbdoclet"
            classname="xdoclet.modules.ejb.EjbDocletTask"
            classpathref="fdas.test.class.path"
            />

where "fdas.test.class.path" contains classpath definitions for all XDoclet jars, the 
XJavadoc jar, any external library jars that XDoclet depends on, as well as the path 
to all my application classes including the custom tag handler class.

However, whenever I try to run this task, I get the following error:

[ejbdoclet] (XDocletMain.start                   47  ) Running <entitycmp/>
[ejbdoclet] Generating CMP class for 'ejb.EmployeeBean'.
[ejbdoclet] (TemplateEngine.invokeMethod         509 ) Invoking method failed: x
doclet.tagshandler.TagDefTagsHandler.tagDef, line=1 of template file: file:/F:/P
rojects/Raytheon/ACCS/FDAS-XDoclet/Test/myxdoclet/resources/fdas/xdoclet/templat
e/entitycmp.xdt
[ejbdoclet] java.lang.reflect.InvocationTargetException:
[ejbdoclet] java.lang.NoClassDefFoundError: xdoclet/XDocletTagSupport
[ejbdoclet]     at java.lang.ClassLoader.defineClass0(Native Method)
[ejbdoclet]     at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
[ejbdoclet]     at java.security.SecureClassLoader.defineClass(SecureClassLoader
.java:111)
[ejbdoclet]     at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
[ejbdoclet]     at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
[ejbdoclet]     at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
[ejbdoclet]     at java.security.AccessController.doPrivileged(Native Method)
[ejbdoclet]     at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
[ejbdoclet]     at java.lang.ClassLoader.loadClass(ClassLoader.java:297)
[ejbdoclet]     at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)

[ejbdoclet]     at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
[ejbdoclet]     at org.apache.tools.ant.AntClassLoader.findBaseClass(AntClassLoa
der.java:1104)
[ejbdoclet]     at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.
java:921)
[ejbdoclet]     at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
[ejbdoclet]     at xdoclet.tagshandler.TagDefTagsHandler.tagDef(TagDefTagsHandle
r.java:67)
[ejbdoclet]     at java.lang.reflect.Method.invoke(Native Method)
[ejbdoclet]     at xdoclet.template.TemplateEngine.invoke(TemplateEngine.java:60
3)
[ejbdoclet]     at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.j
ava:502)
[ejbdoclet]     at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateE
ngine.java:582)
[ejbdoclet]     at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java
:437)
[ejbdoclet]     at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:
333)
[ejbdoclet]     at xdoclet.template.TemplateEngine.start(TemplateEngine.java:382
)
[ejbdoclet]     at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:559)

[ejbdoclet]     at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java
:765)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.
java:665)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:592
)
[ejbdoclet]     at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:485)
[ejbdoclet]     at xdoclet.XDocletMain.start(XDocletMain.java:48)
[ejbdoclet]     at xdoclet.DocletTask.start(DocletTask.java:458)
[ejbdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:193)
[ejbdoclet]     at org.apache.tools.ant.Task.perform(Task.java:341)
[ejbdoclet]     at org.apache.tools.ant.Target.execute(Target.java:309)
[ejbdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java:1339)

[ejbdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java:1255
)
[ejbdoclet]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
[ejbdoclet]     at org.apache.tools.ant.Main.start(Main.java:196)
[ejbdoclet]     at org.apache.tools.ant.Main.main(Main.java:235)
[ejbdoclet] xdoclet.template.TemplateException: Invoking method in class xdoclet
.tagshandler.TagDefTagsHandler failed: tagDef, line=1 of template file: file:/F:
/Projects/Raytheon/ACCS/FDAS-XDoclet/Test/myxdoclet/resources/fdas/xdoclet/templ
ate/entitycmp.xdt, exception: null
[ejbdoclet]     at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.j
ava:510)
[ejbdoclet]     at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateE
ngine.java:582)
[ejbdoclet]     at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java
:437)
[ejbdoclet]     at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:
333)
[ejbdoclet]     at xdoclet.template.TemplateEngine.start(TemplateEngine.java:382
)
[ejbdoclet]     at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:559)

[ejbdoclet]     at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java
:765)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.
java:665)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:592
)
[ejbdoclet]     at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:485)
[ejbdoclet]     at xdoclet.XDocletMain.start(XDocletMain.java:48)
[ejbdoclet]     at xdoclet.DocletTask.start(DocletTask.java:458)
[ejbdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:193)
[ejbdoclet]     at org.apache.tools.ant.Task.perform(Task.java:341)
[ejbdoclet]     at org.apache.tools.ant.Target.execute(Target.java:309)
[ejbdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java:1339)

[ejbdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java:1255
)
[ejbdoclet]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
[ejbdoclet]     at org.apache.tools.ant.Main.start(Main.java:196)
[ejbdoclet]     at org.apache.tools.ant.Main.main(Main.java:235)
[ejbdoclet] (XDocletMain.start                   53  ) Running XDoclet failed.
[ejbdoclet] (XDocletMain.start                   54  ) <<Running XDoclet failed.
>>
[ejbdoclet] xdoclet.template.TemplateException: Invoking method in class xdoclet
.tagshandler.TagDefTagsHandler failed: tagDef, line=1 of template file: file:/F:
/Projects/Raytheon/ACCS/FDAS-XDoclet/Test/myxdoclet/resources/fdas/xdoclet/templ
ate/entitycmp.xdt, exception: null
[ejbdoclet]     at xdoclet.template.TemplateEngine.invokeMethod(TemplateEngine.j
ava:510)
[ejbdoclet]     at xdoclet.template.TemplateEngine.invokeContentMethod(TemplateE
ngine.java:582)
[ejbdoclet]     at xdoclet.template.TemplateEngine.handleTag(TemplateEngine.java
:437)
[ejbdoclet]     at xdoclet.template.TemplateEngine.generate(TemplateEngine.java:
333)
[ejbdoclet]     at xdoclet.template.TemplateEngine.start(TemplateEngine.java:382
)
[ejbdoclet]     at xdoclet.TemplateSubTask.startEngine(TemplateSubTask.java:559)

[ejbdoclet]     at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java
:765)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.
java:665)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:592
)
[ejbdoclet]     at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:485)
[ejbdoclet]     at xdoclet.XDocletMain.start(XDocletMain.java:48)
[ejbdoclet]     at xdoclet.DocletTask.start(DocletTask.java:458)
[ejbdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:193)
[ejbdoclet]     at org.apache.tools.ant.Task.perform(Task.java:341)
[ejbdoclet]     at org.apache.tools.ant.Target.execute(Target.java:309)
[ejbdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java:1339)

[ejbdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java:1255
)
[ejbdoclet]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
[ejbdoclet]     at org.apache.tools.ant.Main.start(Main.java:196)
[ejbdoclet]     at org.apache.tools.ant.Main.main(Main.java:235)
[ejbdoclet] file:F:/Projects/Raytheon/ACCS/FDAS-XDoclet/Test/build.xml:77: XDocl
et failed.
[ejbdoclet]     at xdoclet.DocletTask.start(DocletTask.java:461)
[ejbdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:193)
[ejbdoclet]     at org.apache.tools.ant.Task.perform(Task.java:341)
[ejbdoclet]     at org.apache.tools.ant.Target.execute(Target.java:309)
[ejbdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java:1339)

[ejbdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java:1255
)
[ejbdoclet]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
[ejbdoclet]     at org.apache.tools.ant.Main.start(Main.java:196)
[ejbdoclet]     at org.apache.tools.ant.Main.main(Main.java:235)
[ejbdoclet] --- Nested Exception ---
[ejbdoclet] xdoclet.XDocletException: Running XDoclet failed.
[ejbdoclet]     at xdoclet.TemplateSubTask.generateForClass(TemplateSubTask.java
:774)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcessPerClass(TemplateSubTask.
java:665)
[ejbdoclet]     at xdoclet.TemplateSubTask.startProcess(TemplateSubTask.java:592
)
[ejbdoclet]     at xdoclet.TemplateSubTask.execute(TemplateSubTask.java:485)
[ejbdoclet]     at xdoclet.XDocletMain.start(XDocletMain.java:48)
[ejbdoclet]     at xdoclet.DocletTask.start(DocletTask.java:458)
[ejbdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:96)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.ja
va:193)
[ejbdoclet]     at org.apache.tools.ant.Task.perform(Task.java:341)
[ejbdoclet]     at org.apache.tools.ant.Target.execute(Target.java:309)
[ejbdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java:336)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java:1339)

[ejbdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java:1255
)
[ejbdoclet]     at org.apache.tools.ant.Main.runBuild(Main.java:609)
[ejbdoclet]     at org.apache.tools.ant.Main.start(Main.java:196)
[ejbdoclet]     at org.apache.tools.ant.Main.main(Main.java:235)

BUILD FAILED

I've tried running this with ant versions 1.5.2, 1.5.3-1 and even 1.4.1. I've even 
modified xdoclet.tagshandler.TagDefTagsHandler to print out the classpath (i.e. 
AntClassLoader.getClasspath()) that the AntClassLoader will consult to load in 
classes. All XDoclet jars, the XJavadoc jar, and the path to my custom tag handler 
class are present in the classpath definition.

Anyone have any ideas? At the very least, perhaps someone can point me to a sample 
custom tag handler/template/ant build file that's known to work? This would at least 
allow me to verify that it's not some quirky runtime environment issue.

Best Regards,
Richard






-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
xdoclet-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/xdoclet-user

Reply via email to