Nicolas Pujol wrote:
> Hi,
>
> When I replace Xalan.jar and XercesImpl.jar and I run
> my ant xjc task I get:
>
> java.lang.NoClassDefFoundError:
> com/sun/org/apache/xpath/internal/XPathAPI (see the
> exception below for more info)
>
> This class is now in org.apache.xpath.XPathAPI in
> later versions of Xalan.jar. So it appears that JAXB
> has some dependencies on previous versions of Xerces
> and/or Xalan. If I am wrong please advice and let me
> know if replacing XercesImpl.jar and xalan.jar in the
> jaxp\lib\endorsed is a valid test . Thank you
To perform the XPath operation, in JAXB RI 1.0.x XJC relies on the
JAXP's internal class. If you are to replace jaxp/lib/endorsed with
Apache versions, I think you need to save the original JAXP RI and use
them when you run XJC.
At the runtime, you can run with any parser.
This problem is already fixed in 2.0 EA.
>
> Nicolas
>
> java.lang.NoClassDefFoundError:
> com/sun/org/apache/xpath/internal/XPathAPI
> at
> org.apache.tools.ant.Project.executeTarget(Project.java:1223)
> at
> org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:386)
> at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at
> org.apache.tools.ant.Task.perform(Task.java:364)
> at
> org.apache.tools.ant.Target.execute(Target.java:341)
> at
> org.apache.tools.ant.Target.performTasks(Target.java:369)
> at
> org.apache.tools.ant.Project.executeTarget(Project.java:1214)
> at
> org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:386)
> at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at
> org.apache.tools.ant.Task.perform(Task.java:364)
> at
> org.apache.tools.ant.Target.execute(Target.java:341)
> at
> org.apache.tools.ant.Target.performTasks(Target.java:369)
> at
> org.apache.tools.ant.Project.executeTarget(Project.java:1214)
> at
> org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:386)
> at
> org.apache.tools.ant.taskdefs.CallTarget.execute(CallTarget.java:106)
>
> at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at
> org.apache.tools.ant.Task.perform(Task.java:364)
> at
> org.apache.tools.ant.Target.execute(Target.java:341)
> at
> org.apache.tools.ant.Target.performTasks(Target.java:369)
> at
> org.apache.tools.ant.Project.executeTarget(Project.java:1214)
> at
> org.apache.tools.ant.Project.executeTargets(Project.java:1062)
> at
> org.apache.tools.ant.Main.runBuild(Main.java:673)
> at
> org.apache.tools.ant.Main.startAnt(Main.java:188)
> at
> org.apache.tools.ant.launch.Launcher.run(Launcher.java:196)
> at
> org.apache.tools.ant.launch.Launcher.main(Launcher.java:55)
> Caused by: java.lang.NoClassDefFoundError:
> com/sun/org/apache/xpath/internal/XPa
> thAPI
> at
> com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap
> (Internalizer.java:161)
> at
> com.sun.tools.xjc.reader.internalizer.Internalizer.buildTargetNodeMap
> (Internalizer.java:208)
> at
> com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internal
> izer.java:84)
> at
> com.sun.tools.xjc.reader.internalizer.Internalizer.transform(Internal
> izer.java:52)
> at
> com.sun.tools.xjc.reader.internalizer.DOMForest.transform(DOMForest.j
> ava:193)
> at
> com.sun.tools.xjc.GrammarLoader.buildDOMForest(GrammarLoader.java:311
> )
> at
> com.sun.tools.xjc.GrammarLoader.loadXMLSchema(GrammarLoader.java:356)
>
> at
> com.sun.tools.xjc.GrammarLoader.load(GrammarLoader.java:127)
> at
> com.sun.tools.xjc.GrammarLoader.load(GrammarLoader.java:76)
> at
> com.sun.tools.xjc.XJCTask._doXJC(XJCTask.java:356)
> at
> com.sun.tools.xjc.XJCTask.doXJC(XJCTask.java:305)
> at
> com.sun.tools.xjc.XJCTask.execute(XJCTask.java:245)
> at
> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
> at
> org.apache.tools.ant.Task.perform(Task.java:364)
> at
> org.apache.tools.ant.Target.execute(Target.java:341)
> at
> org.apache.tools.ant.Target.performTasks(Target.java:369)
> at
> org.apache.tools.ant.Project.executeTarget(Project.java:1214)
> ... 24 more
>
>>Nicolas Pujol wrote:
>>> I was wondering if there were any intentions to
> have
>>> JAXB 1.0 use the more current version of Xalan and
>>> XercesImpl (2.6.2). I need it specifically for the
>>XJC
>>> ant task. Any way to make it work with the new
> stuff?
>>
>>XJC should work with any recent version of Xerces and
>>Xalan. If it
>>doesn't work let us know.
>>
>>--
>>Kohsuke Kawaguchi
>>Sun Microsystems
>>kohsuke.kawaguchi_at_sun.com
>
>
>
>
> __________________________________
> Do you Yahoo!?
> Yahoo! Small Business - Try our new resources site!
> http://smallbusiness.yahoo.com/resources/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jaxb.dev.java.net
> For additional commands, e-mail: users-help_at_jaxb.dev.java.net
>
>
--
Kohsuke Kawaguchi
Sun Microsystems kohsuke.kawaguchi_at_sun.com