HI all,
I'm trying to get hyperjaxb working and can't get the ant files working. I'm sure something is wrong with my setup (almost cannot be anything else).
I have an test.xml file (build file) and it has 2 tasks one with a taskdef and one without. (same actions). But when i run the taskdef one i get following error (xml file attached)
SeJo@versake article41 $ ant -f test.xml -d -v
Apache Ant version 1.6.2 compiled on August 17 2004
Apache Ant version 1.6.2 compiled on August 17 2004
Buildfile: test.xml
Detected Java version: 1.4 in: /opt/sun-jdk-1.4.2.05/jre
Detected OS: Linux
parsing buildfile /home/SeJo/workspace/project/test.xml with URI =
file:///home/SeJo/workspace/project/test.xml Project base dir set to: /home/SeJo/workspace/project
Build sequence for target `generate.sources' is [generate.sources]
Complete build sequence is [generate.sources, ]
generate.sources:
BUILD FAILED
/home/SeJo/workspace/project/test.xml:14: taskdef A class needed by class com.sun.tools.xjc.XJCTask cannot be found: org/apache/tools/ant/Task
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:487)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:183)
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.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: org/apache/tools/ant/Task
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at org.apache.tools.ant.AntClassLoader.findBaseClass(AntClassLoader.java:1180)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:956
)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:457)
... 11 more
--- Nested Exception ---
java.lang.NoClassDefFoundError: org/apache/tools/ant/Task
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
at java.lang.ClassLoader.loadClass(ClassLoader.java:282)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at org.apache.tools.ant.AntClassLoader.findBaseClass(AntClassLoader.java:1180)
at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:956)
at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:219)
at org.apache.tools.ant.taskdefs.Definer.addDefinition(Definer.java:457)
at org.apache.tools.ant.taskdefs.Definer.execute(Definer.java:183)
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)
Total time: 2 seconds
test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project name="art41" default="generate.sources" basedir=".">
<path id="classpath">
<fileset dir="/opt/jars">
<include name="ant.jar"/>
<include name="hyperjaxb.jar"/>
<include name="jaxb-xjc.jar"/>
<include name="xsdlib.jar"/>
<include name="xercesImpl.jar"/>
<include name="sax.jar"/>
</fileset>
</path>
<target name="generate.sources">
<taskdef name="xjc" classname="com.sun.tools.xjc.XJCTask"></taskdef>
<mkdir dir="blah.blah"/>
<xjc schema="xml_schema_project.xsd" target="blah.blah" classpathref="classpath.lib">
<arg line="-Xhibernate-xdoclets"/>
<classpath>
<pathelement location="." />
<pathelement location="/opt/jars/ant.jar" />
<pathelement location="/opt/jars/hyperjaxb.jar" />
<pathelement location="/opt/jars/jaxb-xjc.jar" />
<pathelement location="/opt/jars/xsdlib.jar" />
<pathelement location="/opt/jars/xercesImpl.jar" />
<pathelement location="/opt/jars/sax.jar" />
</classpath>
</xjc>
<!-- this one does work if i leave the XHibernation-xdoclets argument out
<java classname="com.sun.tools.xjc.Driver">
<arg line="-dtd"/>
<arg file="xml_schema_project.dtd"/>
<arg line="-xjs"/>
<arg file="xml_schema_project.xjs"/>
<arg line="-Xhibernate-xdoclets"/>
<classpath>
<pathelement location="." />
<pathelement location="/opt/jars/ant.jar" />
<pathelement location="/opt/jars/hyperjaxb.jar" />
<pathelement location="/opt/jars/jaxb-xjc.jar" />
<pathelement location="/opt/jars/xsdlib.jar" />
<pathelement location="/opt/jars/dom4j.jar" />
<pathelement location="/opt/jars/sax.jar" />
<pathelement location="/opt/jars/xercesImpl.jar" />
</classpath>
</java>-->
</target>
</project>