I want to create a core.jar that I can put all my model and DAO object that I can use dbunit to test during my build. I have been combing through the net all day trying examples that say they work but have no luck getting this to function.
*I have a test persistance.xml in /src/test/resources/* *<?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"> <persistence-unit name="hibernate-hsqldb"> <provider>org.hibernate.ejb.HibernatePersistence</provider> <jar-file>${project.build.directory}/classes</jar-file> <properties> <property name="hibernate.dialect" value=" org.hibernate.dialect.HSQLDialect"/> <property name="hibernate.connection.driver_class" value=" org.hsqldb.jdbcDriver"/> <property name="hibernate.connection.url" value="jdbc:hsqldb:."/> <property name="hibernate.connection.username" value="sa"/> <property name="hibernate.connection.password" value=""/> <property name="hibernate.hbm2ddl.auto" value="create-drop"/> <property name="hibernate.show_sql" value="true"/> <property name="hibernate.format_sql" value="true"/> <property name="use_sql_comments" value="true"/> </properties> </persistence-unit> </persistence> * *Then I also have my dbunit and hibernate3-maven plugins:* *<plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>hibernate3-maven-plugin</artifactId> <version>2.0-alpha-2</version> <configuration> <components> <component> <name>hbm2ddl</name> <implementation>annotationconfiguration</implementation> </component> </components> <componentProperties> <drop>true</drop> <jdk5>true</jdk5> <ejb3>true</ejb3> <propertyfile>target/test-classes/jdbc.properties</propertyfile> <outputfilename>schema.sql</outputfilename> <outputDirectory> <hbm2java>target/test-classes</hbm2java> <hbm2ddl>target/test-classes</hbm2ddl> </outputDirectory> <skip>${maven.test.skip}</skip> </componentProperties> </configuration> <executions> <execution> <phase>process-test-resources</phase> <goals> <goal>hbm2ddl</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>${jdbc.groupId}</groupId> <artifactId>${jdbc.artifactId}</artifactId> <version>${jdbc.version}</version> </dependency> </dependencies> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>dbunit-maven-plugin</artifactId> <version>1.0-beta-1</version> <configuration> <dataTypeFactoryName>${dbunit.dataTypeFactoryName }</dataTypeFactoryName> <driver>${jdbc.driverClassName}</driver> <username>${jdbc.username}</username> <password>${jdbc.password}</password> <url>${jdbc.url}</url> <src>${basedir}/src/test/resources/sample-data.xml</src> <type>${dbunit.operation.type}</type> <schema>${dbunit.schema}</schema> <skip>${maven.test.skip}</skip> <verbose>2</verbose> </configuration> <executions> <execution> <phase>test-compile</phase> <goals> <goal>operation</goal> </goals> </execution> </executions> <dependencies> <dependency> <groupId>${jdbc.groupId}</groupId> <artifactId>${jdbc.artifactId}</artifactId> <version>${jdbc.version}</version> </dependency> </dependencies> </plugin> * *when I run "mvn hibernate3:hbm2ddl -P hsqldb -e -X", I get the following trace:* *[DEBUG] org.hibernate:jtidy:jar:r8-20060801:runtime (selected for runtime) [DEBUG] hsqldb:hsqldb:jar:1.8.0.7:compile (selected for compile) [DEBUG] log4j:log4j:jar:1.2.14:runtime (selected for runtime) [DEBUG] Configuring mojo ' org.codehaus.mojo:hibernate3-maven-plugin:2.0-alpha-2:hbm2ddl' --> [DEBUG] (f) componentProperties = {drop=true, ejb3=true, jdk5=true, outputDirectory=null, outputfilename=schema.sql, propertyfile=target/test-c lasses/jdbc.properties, skip=null} [DEBUG] (s) name = hbm2ddl [DEBUG] (s) implementation = annotationconfiguration [DEBUG] (f) components = [ [EMAIL PROTECTED] [DEBUG] (f) project = MavenProject: com.baselogic:yoursos-core:1.0-SNAPSHOT @ C:\opt\temp\appfuse\yoursos\core\pom.xml [DEBUG] -- end configuration -- [INFO] [hibernate3:hbm2ddl] [DEBUG] basedir: C:\opt\temp\appfuse\yoursos\core [INFO] Configuration XML file loaded: C:\opt\temp\appfuse\yoursos\core\src\main\resources\hibernate.cfg.xml [DEBUG] basedir: C:\opt\temp\appfuse\yoursos\core [INFO] Configuration XML file loaded: C:\opt\temp\appfuse\yoursos\core\src\main\resources\hibernate.cfg.xml [INFO] Configuration Properties file loaded: C:\opt\temp\appfuse\yoursos\core\target\test-classes\jdbc.properties [yoursos] ERROR [main] SchemaExport.execute(202) | schema export unsuccessful java.sql.SQLException: File input/output error: java.io.IOException: The filename, directory name, or volume label syntax is incorrect at org.hsqldb.jdbc.Util.sqlException(Unknown Source) at org.hsqldb.jdbc.jdbcConnection.<init>(Unknown Source) at org.hsqldb.jdbcDriver.getConnection(Unknown Source) at org.hsqldb.jdbcDriver.connect(Unknown Source) at java.sql.DriverManager.getConnection(DriverManager.java:525) at java.sql.DriverManager.getConnection(DriverManager.java:140) at org.hibernate.connection.DriverManagerConnectionProvider.getConnection( DriverManagerConnectionProvider.java:110) at org.hibernate.tool.hbm2ddl.ManagedProviderConnectionHelper.prepare( ManagedProviderConnectionHelper.java:28) at org.hibernate.tool.hbm2ddl.SchemaExport.execute(SchemaExport.java :180) at org.hibernate.tool.hbm2ddl.SchemaExport.create(SchemaExport.java :133) at org.codehaus.mojo.hibernate3.exporter.Hbm2DDLExporterMojo.doExecute( Hbm2DDLExporterMojo.java:112) at org.codehaus.mojo.hibernate3.HibernateExporterMojo.execute( HibernateExporterMojo.java:140) at org.apache.maven.plugin.DefaultPluginManager.executeMojo( DefaultPluginManager.java:447) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals( DefaultLifecycleExecutor.java:539) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal( DefaultLifecycleExecutor.java:493) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal( DefaultLifecycleExecutor.java:463) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures (DefaultLifecycleExecutor.java:311) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments( DefaultLifecycleExecutor.java:278) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute( DefaultLifecycleExecutor.java:143) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126) at org.apache.maven.cli.MavenCli.main(MavenCli.java:282) 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:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java :315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java :430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) [WARNING] 1 errors occurred while performing <hbm2ddl>. [ERROR] Error #1: java.sql.SQLException: File input/output error: java.io.IOException: The filename, directory name, or volume label syntax is in correct [INFO] ------------------------------------------------------------------------ * When I run "mvn clean install -e -X -P hsqldb" with a "sample-data.xml" I get this: *[DEBUG] org.hibernate:jtidy:jar:r8-20060801:compile (selected for compile) [DEBUG] org.hibernate:hibernate-validator:jar:3.0.0.ga:provided (selected for provided) [DEBUG] org.hibernate:hibernate:jar:3.2.4.sp1:provided (removed - nearer found: 3.2.5.ga) [DEBUG] c3p0:c3p0:jar:0.9.1:compile (selected for compile) [DEBUG] org.codehaus.mojo:dbunit-maven-plugin:maven-plugin:1.0-beta-1:runtime(selected for runtime) [DEBUG] Adding managed dependencies for unknown:maven-settings [DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8 [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4 [DEBUG] org.apache.maven.wagon:wagon-provider-api:jar:1.0-alpha-5 [DEBUG] org.apache.maven.wagon:wagon-ssh:jar:1.0-alpha-5 [DEBUG] org.apache.maven.wagon:wagon-file:jar:1.0-alpha-5 [DEBUG] org.apache.maven.wagon:wagon-http-lightweight:jar:1.0-alpha-5 [DEBUG] org.apache.maven:maven-settings:jar:2.0:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-model:jar:2.0:runtime (selected for runtime) [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected for runtime) [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (selected for runtime) [DEBUG] org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-8:runtime(selected for runtime) [DEBUG] junit:junit:jar:3.8.1:runtime (selected for runtime) [DEBUG] classworlds:classworlds:jar:1.1-alpha-2:runtime (selected for runtime) [DEBUG] ant:ant:jar:1.6.5:runtime (selected for runtime) [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.0.4:runtime (removed - nearer found: 1.1) [DEBUG] org.codehaus.plexus:plexus-utils:jar:1.1:runtime (selected for runtime) [DEBUG] org.dbunit:dbunit:jar:2.2:runtime (selected for runtime) [DEBUG] junit:junit:jar:3.8.1:runtime (removed - nearer found: 3.8.2) [DEBUG] junit:junit:jar:3.8.2:runtime (selected for runtime) [DEBUG] junit-addons:junit-addons:jar:1.4:runtime (selected for runtime) [DEBUG] junit:junit:jar:3.8.1:runtime (removed - nearer found: 3.8.2) [DEBUG] xerces:xercesImpl:jar:2.6.2:runtime (selected for runtime) [DEBUG] xerces:xmlParserAPIs:jar:2.6.2:runtime (selected for runtime) [DEBUG] poi:poi:jar:2.5.1-final-20040804:runtime (selected for runtime) [DEBUG] commons-collections:commons-collections:jar:3.1:runtime(selected for runtime) [DEBUG] commons-lang:commons-lang:jar:2.1:runtime (selected for runtime) [DEBUG] commons-logging:commons-logging:jar:1.0.4:runtime (selected for runtime) [DEBUG] org.apache.maven:maven-plugin-api:jar:2.0:runtime (selected for runtime) [DEBUG] hsqldb:hsqldb:jar:1.8.0.7:compile (selected for compile) [DEBUG] Configuring mojo ' org.codehaus.mojo:dbunit-maven-plugin:1.0-beta-1:operation' --> [DEBUG] (f) dataTypeFactoryName = org.dbunit.ext.hsqldb.HsqldbDataTypeFactory [DEBUG] (f) datatypeWarning = false [DEBUG] (f) driver = org.hsqldb.jdbcDriver [DEBUG] (f) format = xml [DEBUG] (f) settings = [EMAIL PROTECTED] [DEBUG] (f) skip = false [DEBUG] (f) src = C:\opt\temp\appfuse\yoursos\core\src\test\resources\sample-data.xml [DEBUG] (f) supportBatchStatement = false [DEBUG] (f) transaction = false [DEBUG] (f) type = CLEAN_INSERT [DEBUG] (f) url = jdbc:hsqldb:file:C:\opt\temp\appfuse\yoursos\core/target/yoursos;shutdown=true [DEBUG] (f) useQualifiedTableNames = false [DEBUG] (f) username = sa [DEBUG] -- end configuration -- [INFO] [dbunit:operation {execution: default}] [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error executing database operation: CLEAN_INSERT Embedded error: user_role [INFO] ------------------------------------------------------------------------ [DEBUG] Trace org.apache.maven.lifecycle.LifecycleExecutionException: Error executing database operation: CLEAN_INSERT at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals( DefaultLifecycleExecutor.java:564) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle (DefaultLifecycleExecutor.java:480) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal( DefaultLifecycleExecutor.java:459) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures (DefaultLifecycleExecutor.java:311) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments( DefaultLifecycleExecutor.java:278) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute( DefaultLifecycleExecutor.java:143) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:333) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:126) at org.apache.maven.cli.MavenCli.main(MavenCli.java:282) 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:585) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java :315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java :430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: org.apache.maven.plugin.MojoExecutionException: Error executing database operation: CLEAN_INSERT at org.codehaus.mojo.dbunit.OperationMojo.execute(OperationMojo.java :110) at org.apache.maven.plugin.DefaultPluginManager.executeMojo( DefaultPluginManager.java:447) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals( DefaultLifecycleExecutor.java:539) ... 16 more Caused by: org.dbunit.dataset.NoSuchTableException: user_role at org.dbunit.database.DatabaseDataSet.getTableMetaData( DatabaseDataSet.java:192) at org.dbunit.operation.DeleteAllOperation.execute( DeleteAllOperation.java:98) at org.dbunit.operation.CompositeOperation.execute( CompositeOperation.java:67) at org.dbunit.ant.Operation.execute(Operation.java:183) at org.codehaus.mojo.dbunit.OperationMojo.execute(OperationMojo.java :101) ... 18 more [INFO] ------------------------------------------------------------------------ * *My data is as a follows:* *<?xml version="1.0" encoding="UTF-8"?> <dataset> <table name="app_user"> <column>id</column> <column>username</column> <column>password</column> <column>first_name</column> <column>last_name</column> <column>address</column> <column>city</column> <column>country</column> <column>email</column> <column>phone_number</column> <column>postal_code</column> <column>province</column> <column>website</column> <column>password_hint</column> <column>version</column> <column>account_enabled</column> <column>account_expired</column> <column>account_locked</column> <column>credentials_expired</column> <row> <value description="id">-1</value> <value description="username">user</value> <value description="password">***</value> <value description="first_name">Mick</value> <value description="last_name">Knutson</value> <value description="address"></value> <value description="city">San Francisco</value> <value description="country">US</value> <value description="email">[EMAIL PROTECTED]</value> <value description="phone_number"></value> <value description="postal_code">94101</value> <value description="province">CA</value> <value description="website">http://www.baselogic.com</value> <value description="password_hint"><![CDATA[who needs a hints.]]></value> <value description="version">1</value> <value description="account_enabled">1</value> <value description="account_expired">0</value> <value description="account_locked">0</value> <value description="credentials_expired">0</value> </row> </table> <table name="role"> <column>id</column> <column>name</column> <column>description</column> <row> <value description="id">-1</value> <value description="name">ROLE_ADMIN</value> <value description="description"><![CDATA[Administrator role (can edit Users)]]></value> </row> <row> <value description="id">-2</value> <value description="name">ROLE_USER</value> <value description="description"><![CDATA[Default role for all Users]]></value> </row> </table> <table name="user_role"> <column>user_id</column> <column>role_id</column> <row> <value description="user_id">-1</value> <value description="role_id">-2</value> </row> <row> <value description="user_id">-2</value> <value description="role_id">-1</value> </row> </table> </dataset> * So where can I get a working hsql, dbunit example that I can integrate into my Maven build? -- Thanks, Mick Knutson http://www.baselogic.com http://www.blincmagazine.com http://www.linkedin.com/in/mickknutson http://www.djmick.com http://www.myspace.com/mickknutson http://www.myspace.com/BLiNCMagazine http://tahoe.baselogic.com ---
