[Anthill] Hibernate SchemaExport task fails under Anthill...
Mark Derricutt
mark at talios.com
Wed Feb 9 22:00:35 CST 2005
Hi all, we seem to have hit an odd problem with Anthill,
We've recently started using Hibernate in some of our applications and
are noticing that the schema-export task fails under Anthill.
It works fine running Ant directly on every machine in the office, but
on two different installs of Anthill, it fails:
export-schema:
[echo] Exporting DB schema to db/schema-v0.1.4.sql
[schemaexport] log4j:ERROR setFile(null,false) call failed.
[schemaexport] java.io.FileNotFoundException: build/test.log (No such file or directory)
[schemaexport] at java.io.FileOutputStream.open(Native Method)
[schemaexport] at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
[schemaexport] at java.io.FileOutputStream.<init>(FileOutputStream.java:102)
[schemaexport] at org.apache.log4j.FileAppender.setFile(FileAppender.java:272)
[schemaexport] at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:156)
[schemaexport] at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:151)
[schemaexport] at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:247)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.parseAppender(DOMConfigurator.java:210)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.findAppenderByName(DOMConfigurator.java:140)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.findAppenderByReference(DOMConfigurator.java:153)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.parseChildrenOfLoggerElement(DOMConfigurator.java:415)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.parseRoot(DOMConfigurator.java:384)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.parse(DOMConfigurator.java:783)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:666)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:616)
[schemaexport] at org.apache.log4j.xml.DOMConfigurator.doConfigure(DOMConfigurator.java:602)
[schemaexport] at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:460)
[schemaexport] at org.apache.log4j.LogManager.<clinit>(LogManager.java:113)
[schemaexport] at org.apache.log4j.Logger.getLogger(Logger.java:85)
[schemaexport] at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:229)
[schemaexport] at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:65)
[schemaexport] at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
[schemaexport] at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
[schemaexport] at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
[schemaexport] at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
[schemaexport] at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)
[schemaexport] at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
[schemaexport] at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:209)
[schemaexport] at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:351)
[schemaexport] at net.sf.hibernate.cfg.Configuration.<clinit>(Configuration.java:94)
[schemaexport] at net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.getConfiguration(SchemaExportTask.java:182)
[schemaexport] at net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.execute(SchemaExportTask.java:135)
[schemaexport] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[schemaexport] at org.apache.tools.ant.Task.perform(Task.java:364)
[schemaexport] at org.apache.tools.ant.Target.execute(Target.java:341)
[schemaexport] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[schemaexport] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[schemaexport] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[schemaexport] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[schemaexport] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[schemaexport] at org.apache.tools.ant.Main.start(Main.java:151)
[schemaexport] at org.apache.tools.ant.Main.main(Main.java:241)
[schemaexport] 11:49:21,198 ERROR [SchemaExport] schema export unsuccessful
[schemaexport] java.io.FileNotFoundException: db/schema-v0.1.4.sql (No such file or directory)
[schemaexport] at java.io.FileOutputStream.open(Native Method)
[schemaexport] at java.io.FileOutputStream.<init>(FileOutputStream.java:179)
[schemaexport] at java.io.FileOutputStream.<init>(FileOutputStream.java:70)
[schemaexport] at java.io.FileWriter.<init>(FileWriter.java:46)
[schemaexport] at net.sf.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java:113)
[schemaexport] at net.sf.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java:84)
[schemaexport] at net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.execute(SchemaExportTask.java:142)
[schemaexport] at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
[schemaexport] at org.apache.tools.ant.Task.perform(Task.java:364)
[schemaexport] at org.apache.tools.ant.Target.execute(Target.java:341)
[schemaexport] at org.apache.tools.ant.Target.performTasks(Target.java:369)
[schemaexport] at org.apache.tools.ant.Project.executeTarget(Project.java:1214)
[schemaexport] at org.apache.tools.ant.Project.executeTargets(Project.java:1062)
[schemaexport] at org.apache.tools.ant.Main.runBuild(Main.java:673)
[schemaexport] at org.apache.tools.ant.Main.startAnt(Main.java:188)
[schemaexport] at org.apache.tools.ant.Main.start(Main.java:151)
[schemaexport] at org.apache.tools.ant.Main.main(Main.java:241)
The ant script includes:
<!-- Exports DB schema to a file -->
<target name="export-schema" depends="generate-hibernate"
description="Exports DB schema to a file">
<!-- Teach Ant how to use Hibernate's schema generation tool -->
<taskdef name="schemaexport"
classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
classpathref="classpath">
<classpath path="${build.classes}"/>
</taskdef>
<echo message="Exporting DB schema to ${db.dir}/schema-${version}.sql"/>
<schemaexport properties="${build.classes}/hibernate.properties"
quiet="yes" text="yes" drop="no" output="${db.dir}/schema-${version}.sql" >
<fileset dir="${build.classes}">
<include name="**/*.hbm.xml"/>
</fileset>
</schemaexport>
</target>
Has anyone seen this at all? I was thinking it might be related to class loaders, or the way Anthill calls ant...
Thanks in advance,
Mark
More information about the Anthill
mailing list