[Anthill] Hibernate SchemaExport task fails under Anthill...
Priest, Mark
mpriest at 3eti.com
Thu Feb 10 10:09:01 CST 2005
Mark,
>From initial inspection I would guess that the "build" directory does not
exist at build time for anthill because that is exactly the error you would
get from log4j. If you are using cvs and if there is nothing in the build
directory then when anthill does the cvs checkout it would not get the
directory. If this is the case you could add and commit a zero-length file
build/test.log to cvs.
If you modify the log4.confoguration file under the conf directory in
anthill you can get debug info to show in the app server log file. This can
be very useful in troubleshooting.
-Mark
-----Original Message-----
From: Mark Derricutt [mailto:mark at talios.com]
Sent: Wednesday, February 09, 2005 11:01 PM
To: Anthill user list
Subject: [Anthill] Hibernate SchemaExport task fails under Anthill...
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(DOMConfigu
rator.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(NativeConstructorAcces
sorImpl.java:39)
[schemaexport] at
sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstruc
torAccessorImpl.java:27)
[schemaexport] at
java.lang.reflect.Constructor.newInstance(Constructor.java:274)
[schemaexport] at
org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.ja
va:529)
[schemaexport] at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
va:235)
[schemaexport] at
org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.ja
va: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(SchemaExport
Task.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
_______________________________________________
Anthill mailing list
Anthill at lists.urbancode.com
http://lists.urbancode.com/mailman/listinfo/anthill
More information about the Anthill
mailing list