XDoclet classpath missing J2EE classes (MyEclipse)

1.9k views Asked by At

I cannot find a solution to this problem.

When I try to run ejbdoclet, I get the error

XDoclet classpath missing J2EE classes

Where is the XDoclet classpath and where are the J2EE classes it's missing? Does anyone here have any ideas? I'm using MyEclipse and Ant.

Full trace:

[ejbdoclet] XDoclet classpath missing J2EE classes
[ejbdoclet]     at xdoclet.modules.ejb.EjbDocletTask.validateOptions(EjbDocletTask.java:86)
[ejbdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:89)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[ejbdoclet]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ejbdoclet]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ejbdoclet]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ejbdoclet]     at java.lang.reflect.Method.invoke(Method.java:597)
[ejbdoclet]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[ejbdoclet]     at org.apache.tools.ant.Task.perform(Task.java:348)
[ejbdoclet]     at org.apache.tools.ant.Target.execute(Target.java:392)
[ejbdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java:413)
[ejbdoclet]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
[ejbdoclet]     at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:38)
[ejbdoclet]     at org.eclipse.ant.internal.launching.remote.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
[ejbdoclet]     at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:442)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291)
[ejbdoclet]     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ejbdoclet]     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ejbdoclet]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ejbdoclet]     at java.lang.reflect.Method.invoke(Method.java:597)
[ejbdoclet]     at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
[ejbdoclet]     at org.apache.tools.ant.Task.perform(Task.java:348)
[ejbdoclet]     at org.apache.tools.ant.Target.execute(Target.java:392)
[ejbdoclet]     at org.apache.tools.ant.Target.performTasks(Target.java:413)
[ejbdoclet]     at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
[ejbdoclet]     at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
[ejbdoclet]     at org.eclipse.ant.internal.launching.remote.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
[ejbdoclet]     at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
[ejbdoclet]     at org.eclipse.ant.internal.launching.remote.InternalAntRunner.run(InternalAntRunner.java:424)
[ejbdoclet]     at org.eclipse.ant.internal.launching.remote.InternalAntRunner.main(InternalAntRunner.java:138)
[ejbdoclet] Caused by: Make sure the jar file containing the javax.ejb.EntityBean class is on the classpath specified in the <taskdef> that defined ejbdoclet. These classes are needed in order to generate correct output.
[ejbdoclet]     at xdoclet.DocletTask.checkClass(DocletTask.java:513)
[ejbdoclet]     at xdoclet.modules.ejb.EjbDocletTask.validateOptions(EjbDocletTask.java:83)
[ejbdoclet]     ... 31 more

BUILD FAILED
1

There are 1 answers

0
Prasanth Pennepalli On

You must be missing some jar files in your path or your path in the build.xml is wrong. Check your build.xml. I had a similar problem but realized I had a typo in the path.

<pathelement location="${resin.home}/lib/ejb-15.jar" />
<pathelement location="${resin.home}/lib/ejb-20.jar" />
<pathelement location="${resin.home}/lib/ejb-30.jar" />
<pathelement location="${build}"/>

I had my resin.home pointing to a wrong location. I got the following error:

[ejbdoclet] XDoclet classpath missing J2EE classes
[ejbdoclet]     at xdoclet.modules.ejb.EjbDocletTask.validateOptions(EjbDocletTask.java:86)
[ejbdoclet]     at xjavadoc.ant.XJavadocTask.execute(XJavadocTask.java:89)
[ejbdoclet]     at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
[ejbdoclet]     at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source)
[ejbdoclet]     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ejbdoclet]     at java.lang.reflect.Method.invoke(Method.java:592)