I have recently upgraded from the Hibernate 3.2 CR3, ann 3.2 CR1, ent 3.2 CR1 versions to the latest releases of those, ie Hibernate 3.2 CR5, ann 3.2 CR3, ent 3.2 CR3. Both of the instrument ant tasks, actually defined the hibernate3.jar, produce problems for me.
I have tried all of the following with both the hibernate-tools.jar 3.2.0 beta 7 and with a home-built one based on the latest SVN Hibernate3 and HibernateExt source.
When running with the org.hibernate.tool.instrument.javassist.InstrumentTask, I get no errors until I attempt to run the org.hibernate.tool.ant.HibernateToolTask on my schema, I get a nasty long stack trace:
Code:
F:\webpublishing\cms\build.xml:192: org.hibernate.MappingException: Could not determine type for: org.hibernate.bytecode.javassist.FieldHandler, for columns: [org.hibernate.mapping.Column(fieldHandler)]
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:539)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:384)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
Caused by: F:\webpublishing\cms\build.xml:192: org.hibernate.MappingException: Could not determine type for: org.hibernate.bytecode.javassist.FieldHandler, for columns: [org.hibernate.mapping.Column(fieldHandler)]
at org.hibernate.tool.ant.HibernateToolTask.reportException(HibernateToolTask.java:211)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:174)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
at org.eclipse.ant.internal.ui.antsupport.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
... 11 more
Caused by: org.hibernate.MappingException: Could not determine type for: org.hibernate.bytecode.javassist.FieldHandler, for columns: [org.hibernate.mapping.Column(fieldHandler)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:138)
at org.hibernate.mapping.Column.getSqlType(Column.java:182)
at org.hibernate.mapping.Table.sqlCreateString(Table.java:383)
at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:779)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:94)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:61)
at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:45)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
... 20 more
--- Nested Exception ---
F:\webpublishing\cms\build.xml:192: org.hibernate.MappingException: Could not determine type for: org.hibernate.bytecode.javassist.FieldHandler, for columns: [org.hibernate.mapping.Column(fieldHandler)]
at org.hibernate.tool.ant.HibernateToolTask.reportException(HibernateToolTask.java:211)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:174)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
at org.eclipse.ant.internal.ui.antsupport.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
Caused by: org.hibernate.MappingException: Could not determine type for: org.hibernate.bytecode.javassist.FieldHandler, for columns: [org.hibernate.mapping.Column(fieldHandler)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:138)
at org.hibernate.mapping.Column.getSqlType(Column.java:182)
at org.hibernate.mapping.Table.sqlCreateString(Table.java:383)
at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:779)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:94)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:61)
at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:45)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
... 20 more
--- Nested Exception ---
org.hibernate.MappingException: Could not determine type for: org.hibernate.bytecode.javassist.FieldHandler, for columns: [org.hibernate.mapping.Column(fieldHandler)]
at org.hibernate.mapping.SimpleValue.getType(SimpleValue.java:266)
at org.hibernate.mapping.Column.getSqlTypeCode(Column.java:138)
at org.hibernate.mapping.Column.getSqlType(Column.java:182)
at org.hibernate.mapping.Table.sqlCreateString(Table.java:383)
at org.hibernate.cfg.Configuration.generateSchemaCreationScript(Configuration.java:779)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:94)
at org.hibernate.tool.hbm2ddl.SchemaExport.<init>(SchemaExport.java:61)
at org.hibernate.tool.ant.Hbm2DDLExporterTask.execute(Hbm2DDLExporterTask.java:45)
at org.hibernate.tool.ant.HibernateToolTask.execute(HibernateToolTask.java:171)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
at org.eclipse.ant.internal.ui.antsupport.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
However, when I attempt to use the org.hibernate.tool.instrument.cglib.InstrumentTask, I receive the following stack trace right away:
Code:
java.lang.NoSuchMethodError: net.sf.cglib.core.ClassNameReader.getClassInfo(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
at org.apache.tools.ant.ProjectHelper.addLocationToBuildException(ProjectHelper.java:539)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:384)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
Caused by: java.lang.NoSuchMethodError: net.sf.cglib.core.ClassNameReader.getClassInfo(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1225)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
at org.eclipse.ant.internal.ui.antsupport.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
... 11 more
Caused by: java.lang.NoSuchMethodError: net.sf.cglib.core.ClassNameReader.getClassInfo(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
at org.hibernate.tool.instrument.cglib.InstrumentTask$CustomClassDescriptor.<init>(InstrumentTask.java:80)
at org.hibernate.tool.instrument.cglib.InstrumentTask.getClassDescriptor(InstrumentTask.java:59)
at org.hibernate.tool.instrument.BasicInstrumentationTask.processClassFile(BasicInstrumentationTask.java:175)
at org.hibernate.tool.instrument.BasicInstrumentationTask.processFile(BasicInstrumentationTask.java:142)
at org.hibernate.tool.instrument.BasicInstrumentationTask.execute(BasicInstrumentationTask.java:86)
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.executeSortedTargets(Project.java:1216)
... 15 more
--- Nested Exception ---
java.lang.NoSuchMethodError: net.sf.cglib.core.ClassNameReader.getClassInfo(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1225)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
at org.eclipse.ant.internal.ui.antsupport.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
Caused by: java.lang.NoSuchMethodError: net.sf.cglib.core.ClassNameReader.getClassInfo(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
at org.hibernate.tool.instrument.cglib.InstrumentTask$CustomClassDescriptor.<init>(InstrumentTask.java:80)
at org.hibernate.tool.instrument.cglib.InstrumentTask.getClassDescriptor(InstrumentTask.java:59)
at org.hibernate.tool.instrument.BasicInstrumentationTask.processClassFile(BasicInstrumentationTask.java:175)
at org.hibernate.tool.instrument.BasicInstrumentationTask.processFile(BasicInstrumentationTask.java:142)
at org.hibernate.tool.instrument.BasicInstrumentationTask.execute(BasicInstrumentationTask.java:86)
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.executeSortedTargets(Project.java:1216)
... 15 more
--- Nested Exception ---
java.lang.NoSuchMethodError: net.sf.cglib.core.ClassNameReader.getClassInfo(Lorg/objectweb/asm/ClassReader;)[Ljava/lang/String;
at org.hibernate.tool.instrument.cglib.InstrumentTask$CustomClassDescriptor.<init>(InstrumentTask.java:80)
at org.hibernate.tool.instrument.cglib.InstrumentTask.getClassDescriptor(InstrumentTask.java:59)
at org.hibernate.tool.instrument.BasicInstrumentationTask.processClassFile(BasicInstrumentationTask.java:175)
at org.hibernate.tool.instrument.BasicInstrumentationTask.processFile(BasicInstrumentationTask.java:142)
at org.hibernate.tool.instrument.BasicInstrumentationTask.execute(BasicInstrumentationTask.java:86)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.helper.SingleCheckExecutor.executeTargets(SingleCheckExecutor.java:37)
at org.eclipse.ant.internal.ui.antsupport.EclipseSingleCheckExecutor.executeTargets(EclipseSingleCheckExecutor.java:30)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.apache.tools.ant.taskdefs.Ant.execute(Ant.java:382)
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.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
What's going wrong with the instrument code? Are these problems known bugs? If so, are they assigned and being worked on? I'd like to know, cause I'd like to move up to the most recent version that works for our project, and right now, I have to move back to hib-3.2CR3, hibann-3.2CR1, hibentmgr-3.2CR1.
I'm assuming that the part of the hibernate tools codebase that contains the hbm2ddl ant task, among others, seems not to be ready for use with the latest CR5/CR3 releases of the other projects. I suppose that at some point in the near future, the tools will catch up to the releases?
I should also mention that the cglib instrument task fails just as described above for the older versions that I'm using as well, ie. CR3/CR1.
Just so you know, I totally appreciate all the work you guys do on this project. I recommend Hibernate w/annotations to all my developer friends. Thanks for the great library!
Hibernate version:
Hibernate 3.2 CR5
Hibernate Annotations 3.2 CR3
Hibernate Entity Manager 3.2 CR3
Hibernate Tools 3.2.0 beta 7 & home-built from SVN HEAD