Re: Ant cgen task not working after following tutorial

From: Joseph Wamicha (jwamich..mail.com)
Date: Mon May 25 2009 - 07:02:50 EDT

  • Next message: Andrey Razumovsky: "Re: Ant cgen task not working after following tutorial"

    Hi Andrus,

    I'll try this for cgen and use the swing gui modeller in the meantime.
    Thanks.

    Andrus Adamchik wrote:
    > I know nothing about cdef, but cgen works pretty well in all known
    > environments.
    >
    > The only thing I can think of is to check the classpath that you set
    > on your file, and trim it to just Cayenne and its dependencies. I
    > don't see task classpath in your logs. Maybe print it like this:
    >
    > <property name="cp" refid="full.classpath"/>
    > <echo>${cp}</echo>
    >
    > Andrus
    >
    >
    >
    > On May 25, 2009, at 1:15 PM, Joseph Wamicha wrote:
    >
    >> Back to the original error :(
    >>
    >> Could using the cdef class generation with ant version 1.7.1 be the
    >> problem?
    >>
    >>
    >> Total time: 0 seconds
    >> sysadmi..strodon:/mnt/sda3/EclipseWork/testpersistence$ ant -v classgen
    >> Apache Ant version 1.7.1 compiled on November 10 2008
    >> Buildfile: build.xml
    >> Detected Java version: 1.6 in: /usr/lib/jvm/java-6-sun-1.6.0.13/jre
    >> Detected OS: Linux
    >> parsing buildfile /mnt/sda3/EclipseWork/testpersistence/build.xml
    >> with URI = file:/mnt/sda3/EclipseWork/testpersistence/build.xml
    >> Project base dir set to: /mnt/sda3/EclipseWork/testpersistence
    >> [antlib:org.apache.tools.ant] Could not load definitions from
    >> resource org/apache/tools/ant/antlib.xml. It could not be found.
    >> parsing buildfile
    >> jar:file:/mnt/sda3/EclipseWork/testpersistence/lib/cayenne-server-3.0M5.jar!/org/apache/cayenne/tools/antlib.xml
    >> with URI =
    >> jar:file:/mnt/sda3/EclipseWork/testpersistence/lib/cayenne-server-3.0M5.jar!/org/apache/cayenne/tools/antlib.xml
    >>
    >> Build sequence for target(s) `classgen' is [classgen]
    >> Complete build sequence is [classgen, prepare, clean, deploy,
    >> hsqldbgen, build, dist, ]
    >>
    >> classgen:
    >> [cgen] Generating superclass file:
    >> /mnt/sda3/EclipseWork/testpersistence/test/com/persistence/_Config.java
    >>
    >> BUILD FAILED
    >> java.lang.Exception: Problem initializing template loader:
    >> org.apache.cayenne.gen.ClassGeneratorResourceLoader
    >> Error is: java.lang.ClassNotFoundException:
    >> org.apache.cayenne.gen.ClassGeneratorResourceLoader
    >> at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    >> at java.security.AccessController.doPrivileged(Native Method)
    >> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    >> at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    >> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    >> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    >> at java.lang.Class.forName0(Native Method)
    >> at java.lang.Class.forName(Class.java:169)
    >> at
    >> org.apache.velocity.runtime.resource.loader.ResourceLoaderFactory.getLoader(ResourceLoaderFactory.java:41)
    >>
    >> at
    >> org.apache.velocity.runtime.resource.ResourceManagerImpl.initialize(ResourceManagerImpl.java:142)
    >>
    >> at
    >> org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(RuntimeInstance.java:522)
    >>
    >> at
    >> org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:227)
    >>
    >> at
    >> org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:461)
    >>
    >> at
    >> org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:106)
    >> at
    >> org.apache.cayenne.gen.ClassGenerationAction.getTemplate(ClassGenerationAction.java:273)
    >>
    >> at
    >> org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:241)
    >>
    >> at
    >> org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:213)
    >>
    >> at
    >> org.apache.cayenne.tools.CayenneGeneratorTask.execute(CayenneGeneratorTask.java:163)
    >>
    >> at
    >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    >> at
    >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    >>
    >> at
    >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    >>
    >> at java.lang.reflect.Method.invoke(Method.java:597)
    >> at
    >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    >>
    >> at org.apache.tools.ant.Task.perform(Task.java:348)
    >> at org.apache.tools.ant.Target.execute(Target.java:357)
    >> at org.apache.tools.ant.Target.performTasks(Target.java:385)
    >> at
    >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    >> at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    >> at
    >> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    >>
    >> at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    >> at org.apache.tools.ant.Main.runBuild(Main.java:758)
    >> at org.apache.tools.ant.Main.startAnt(Main.java:217)
    >> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    >> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    >>
    >> at
    >> org.apache.velocity.runtime.resource.loader.ResourceLoaderFactory.getLoader(ResourceLoaderFactory.java:56)
    >>
    >> at
    >> org.apache.velocity.runtime.resource.ResourceManagerImpl.initialize(ResourceManagerImpl.java:142)
    >>
    >> at
    >> org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(RuntimeInstance.java:522)
    >>
    >> at
    >> org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:227)
    >>
    >> at
    >> org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:461)
    >>
    >> at
    >> org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:106)
    >> at
    >> org.apache.cayenne.gen.ClassGenerationAction.getTemplate(ClassGenerationAction.java:273)
    >>
    >> at
    >> org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:241)
    >>
    >> at
    >> org.apache.cayenne.gen.ClassGenerationAction.execute(ClassGenerationAction.java:213)
    >>
    >> at
    >> org.apache.cayenne.tools.CayenneGeneratorTask.execute(CayenneGeneratorTask.java:163)
    >>
    >> at
    >> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    >> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    >> at
    >> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    >>
    >> at
    >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    >>
    >> at java.lang.reflect.Method.invoke(Method.java:597)
    >> at
    >> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    >>
    >> at org.apache.tools.ant.Task.perform(Task.java:348)
    >> at org.apache.tools.ant.Target.execute(Target.java:357)
    >> at org.apache.tools.ant.Target.performTasks(Target.java:385)
    >> at
    >> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    >> at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    >> at
    >> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    >>
    >> at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    >> at org.apache.tools.ant.Main.runBuild(Main.java:758)
    >> at org.apache.tools.ant.Main.startAnt(Main.java:217)
    >> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    >> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    >>
    >> Total time: 0 seconds
    >> Andrus Adamchik wrote:
    >>> Yeah, in 3.0 you also need a VPP library (we should put it in
    >>> lib/third-party I guess...). Anyways, you can get it from here:
    >>>
    >>> http://sourceforge.net/projects/vpp
    >>>
    >>> Andrus
    >>>
    >>> On May 25, 2009, at 12:44 PM, Joseph Wamicha wrote:
    >>>
    >>>> I'm now trying with Cayenne 3.0M5. Please find the error logs below:
    >>>>
    >>>> sysadmi..strodon:/mnt/sda3/EclipseWork/testpersistence$ ant -v
    >>>> classgen
    >>>> Apache Ant version 1.7.1 compiled on November 10 2008
    >>>> Buildfile: build.xml
    >>>> Detected Java version: 1.6 in: /usr/lib/jvm/java-6-sun-1.6.0.13/jre
    >>>> Detected OS: Linux
    >>>> parsing buildfile /mnt/sda3/EclipseWork/testpersistence/build.xml
    >>>> with URI = file:/mnt/sda3/EclipseWork/testpersistence/build.xml
    >>>> Project base dir set to: /mnt/sda3/EclipseWork/testpersistence
    >>>> [antlib:org.apache.tools.ant] Could not load definitions from
    >>>> resource org/apache/tools/ant/antlib.xml. It could not be found.
    >>>> parsing buildfile
    >>>> jar:file:/mnt/sda3/EclipseWork/testpersistence/lib/cayenne-server-3.0M5.jar!/org/apache/cayenne/tools/antlib.xml
    >>>> with URI =
    >>>> jar:file:/mnt/sda3/EclipseWork/testpersistence/lib/cayenne-server-3.0M5.jar!/org/apache/cayenne/tools/antlib.xml
    >>>>
    >>>> Build sequence for target(s) `classgen' is [classgen]
    >>>> Complete build sequence is [classgen, prepare, clean, deploy,
    >>>> hsqldbgen, build, dist, ]
    >>>>
    >>>> classgen:
    >>>>
    >>>> BUILD FAILED
    >>>> java.lang.NoClassDefFoundError: foundrylogic/vpp/VPPConfig
    >>>> at
    >>>> org.apache.cayenne.tools.CayenneGeneratorTask.initializeVppConfig(CayenneGeneratorTask.java:326)
    >>>>
    >>>> at
    >>>> org.apache.cayenne.tools.CayenneGeneratorTask.getVppContext(CayenneGeneratorTask.java:76)
    >>>>
    >>>> at
    >>>> org.apache.cayenne.tools.CayenneGeneratorTask.createGeneratorAction(CayenneGeneratorTask.java:91)
    >>>>
    >>>> at
    >>>> org.apache.cayenne.tools.CayenneGeneratorTask.execute(CayenneGeneratorTask.java:156)
    >>>>
    >>>> at
    >>>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    >>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    >>>> at
    >>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    >>>>
    >>>> at
    >>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    >>>>
    >>>> at java.lang.reflect.Method.invoke(Method.java:597)
    >>>> at
    >>>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    >>>>
    >>>> at org.apache.tools.ant.Task.perform(Task.java:348)
    >>>> at org.apache.tools.ant.Target.execute(Target.java:357)
    >>>> at org.apache.tools.ant.Target.performTasks(Target.java:385)
    >>>> at
    >>>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    >>>> at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    >>>> at
    >>>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    >>>>
    >>>> at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    >>>> at org.apache.tools.ant.Main.runBuild(Main.java:758)
    >>>> at org.apache.tools.ant.Main.startAnt(Main.java:217)
    >>>> at org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    >>>> at org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    >>>> Caused by: java.lang.ClassNotFoundException:
    >>>> foundrylogic.vpp.VPPConfig
    >>>> at
    >>>> org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1400)
    >>>>
    >>>> at
    >>>> org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1341)
    >>>>
    >>>> at
    >>>> org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1088)
    >>>>
    >>>> at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    >>>> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    >>>> ... 21 more
    >>>>
    >>>> Total time: 0 seconds
    >>>>
    >>>> Thanks,
    >>>> Joseph.
    >>>>
    >>>> Andrus Adamchik wrote:
    >>>>> The stack shows that ClassGenerator class is present, while
    >>>>> ClassGeneratorResourceLoader is not. Both are coming from the same
    >>>>> JAR. Very strange... Could you possibly try the same thing with
    >>>>> Cayenne 3.0M5?
    >>>>>
    >>>>> Also you can debug it with "ant -v" to see what the
    >>>>> "full.classpath" is set to (maybe there's a conflicting Velocity
    >>>>> installation or something).
    >>>>>
    >>>>> Andrus
    >>>>>
    >>>>>
    >>>>> On May 25, 2009, at 11:55 AM, Joseph Wamicha wrote:
    >>>>>
    >>>>>> Hi Andrus,
    >>>>>>
    >>>>>> Thanks for your response. The version is: cayenne-2.0.4
    >>>>>>
    >>>>>> Andrus Adamchik wrote:
    >>>>>>> Hi Joseph,
    >>>>>>>
    >>>>>>> which version of Cayenne is that?
    >>>>>>>
    >>>>>>> Andrus
    >>>>>>>
    >>>>>>>
    >>>>>>> On May 25, 2009, at 11:21 AM, Joseph Wamicha wrote:
    >>>>>>>
    >>>>>>>> Hi,
    >>>>>>>>
    >>>>>>>> I'm currently experimenting with cayenne; it's looking good.
    >>>>>>>>
    >>>>>>>> I have however run into problems while running the ant cgen
    >>>>>>>> task. I'm not sure what's going wrong with ant cgen. I would be
    >>>>>>>> grateful for any help on this. Please see my ant task below:
    >>>>>>>>
    >>>>>>>> <path id="full.classpath">
    >>>>>>>> <fileset dir="lib" />
    >>>>>>>> </path>
    >>>>>>>> <!-- Custom apache cayenne ant tasks...-->
    >>>>>>>> <typedef resource="org/apache/cayenne/tools/antlib.xml">
    >>>>>>>> <classpath refid="full.classpath"/>
    >>>>>>>> </typedef>
    >>>>>>>> <target name="classgen">
    >>>>>>>> <cgen map="src/PersistenceMap.map.xml" destDir="test"
    >>>>>>>> usepkgpath="true" superpkg="com.plugin.persistence" />
    >>>>>>>> </target>
    >>>>>>>>
    >>>>>>>> and inside my lib directory I have the cayenne.jar file
    >>>>>>>>
    >>>>>>>> When I now run ant classgen, I get the following error:
    >>>>>>>>
    >>>>>>>> sysadmi..strodon$ ant classgen
    >>>>>>>> Buildfile: build.xml
    >>>>>>>>
    >>>>>>>> classgen:
    >>>>>>>> [cgen] Error generating classes: Problem initializing template
    >>>>>>>> loader: org.apache.cayenne.gen.ClassGeneratorResourceLoader
    >>>>>>>> [cgen] Error is: java.lang.ClassNotFoundException:
    >>>>>>>> org.apache.cayenne.gen.ClassGeneratorResourceLoader
    >>>>>>>> [cgen] at
    >>>>>>>> java.net.URLClassLoader$1.run(URLClassLoader.java:200)
    >>>>>>>> [cgen] at
    >>>>>>>> java.security.AccessController.doPrivileged(Native Method)
    >>>>>>>> [cgen] at
    >>>>>>>> java.net.URLClassLoader.findClass(URLClassLoader.java:188)
    >>>>>>>> [cgen] at
    >>>>>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    >>>>>>>> [cgen] at
    >>>>>>>> java.lang.ClassLoader.loadClass(ClassLoader.java:252)
    >>>>>>>> [cgen] at
    >>>>>>>> java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
    >>>>>>>> [cgen] at java.lang.Class.forName0(Native Method)
    >>>>>>>> [cgen] at java.lang.Class.forName(Class.java:169)
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.velocity.runtime.resource.loader.ResourceLoaderFactory.getLoader(ResourceLoaderFactory.java:41)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.velocity.runtime.resource.ResourceManagerImpl.initialize(ResourceManagerImpl.java:142)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.velocity.runtime.RuntimeInstance.initializeResourceManager(RuntimeInstance.java:522)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:227)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.velocity.runtime.RuntimeInstance.init(RuntimeInstance.java:461)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.velocity.app.VelocityEngine.init(VelocityEngine.java:106)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.cayenne.gen.ClassGenerator.initializeClassTemplate(ClassGenerator.java:149)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.cayenne.gen.ClassGenerator.<init>(ClassGenerator.java:94)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.cayenne.gen.MapClassGenerator.generateClassPairs_1_1(MapClassGenerator.java:222)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.cayenne.gen.MapClassGenerator.generateClassPairs(MapClassGenerator.java:199)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.cayenne.gen.DefaultClassGenerator.execute(DefaultClassGenerator.java:98)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.cayenne.tools.CayenneGenerator.processMap(CayenneGenerator.java:144)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.cayenne.tools.CayenneGenerator.execute(CayenneGenerator.java:80)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    >>>>>>>> [cgen] at
    >>>>>>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    >>>>>>>>
    >>>>>>>> [cgen] at java.lang.reflect.Method.invoke(Method.java:597)
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
    >>>>>>>>
    >>>>>>>> [cgen] at org.apache.tools.ant.Task.perform(Task.java:348)
    >>>>>>>> [cgen] at org.apache.tools.ant.Target.execute(Target.java:357)
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.Target.performTasks(Target.java:385)
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.Project.executeTarget(Project.java:1306)
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
    >>>>>>>>
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.Project.executeTargets(Project.java:1189)
    >>>>>>>> [cgen] at org.apache.tools.ant.Main.runBuild(Main.java:758)
    >>>>>>>> [cgen] at org.apache.tools.ant.Main.startAnt(Main.java:217)
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.launch.Launcher.run(Launcher.java:257)
    >>>>>>>> [cgen] at
    >>>>>>>> org.apache.tools.ant.launch.Launcher.main(Launcher.java:104)
    >>>>>>>>
    >>>>>>>> BUILD FAILED
    >>>>>>>>
    >>>>>>>> What could be going wrong?
    >>>>>>>>
    >>>>>>>> Thanks,
    >>>>>>>> Joseph.
    >>>>>>>>
    >>>>>>>
    >>>>>>
    >>>>>>
    >>>>>
    >>>>
    >>>>
    >>>
    >>
    >>
    >



    This archive was generated by hypermail 2.0.0 : Mon May 25 2009 - 07:03:58 EDT