Ant构建失败,具有正确的类路径和数据库属性

时间:2010-03-03 22:44:55

标签: java ant junit hsqldb

Buildfile: C:\MyJava\workspace\springapp\build.xml
build:
buildtests:
dropTables:
     [echo] DROP TABLES USING: org.hsqldb.jdbcDriver jdbc:hsqldb:hsql//localhost
      [sql] Executing commands
      [sql] 1 of 1 SQL statements executed successfully
createTables:
     [echo] CREATE TABLES USING: org.hsqldb.jdbcDriver jdbc:hsqldb:hsql//localhost
      [sql] Executing resource: C:\MyJava\workspace\springapp\db\create_products.sql
      [sql] 2 of 2 SQL statements executed successfully
loadData:
     [echo] LOAD DATA USING: org.hsqldb.jdbcDriver jdbc:hsqldb:hsql//localhost
      [sql] Executing resource: C:\MyJava\workspace\springapp\db\load_data.sql
      [sql] 3 of 3 SQL statements executed successfully
dbTests:
     [echo] dbTest ---------------------------------------
    [junit] Running springapp.domain.ProductTests
    [junit] Testsuite: springapp.domain.ProductTests
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Tests run: 2, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Running springapp.repository.JdbcProductDaoTests
    [junit] Testsuite: springapp.repository.JdbcProductDaoTests
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.test.AbstractSingleSpringContextTests loadContextLocations
    [junit] INFO: Loading context for locations: classpath:test-context.xml
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    [junit] INFO: Loading XML bean definitions from class path resource [test-context.xml]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    [junit] INFO: Refreshing org.springframework.context.support.GenericApplicationContext@1e13d52: display name [org.springframework.context.support.GenericApplicationContext@1e13d52]; startup date [Wed Mar 03 16:44:47 CST 2010]; root of context hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    [junit] INFO: Bean factory for application context [org.springframework.context.support.GenericApplicationContext@1e13d52]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
    [junit] INFO: Loading properties file from class path resource [jdbc.properties]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    [junit] INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3: defining beans [productDao,dataSource,propertyConfigurer,transactionManager]; root of factory hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
    [junit] INFO: Loaded JDBC driver: org.hsqldb.jdbcDriver
    [junit] Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 0.391 sec
    [junit] Tests run: 2, Failures: 0, Errors: 2, Time elapsed: 0.391 sec
    [junit] ------------- Standard Error -----------------
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.test.AbstractSingleSpringContextTests loadContextLocations
    [junit] INFO: Loading context for locations: classpath:test-context.xml
    [junit] Mar 3, 2010 4:44:46 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
    [junit] INFO: Loading XML bean definitions from class path resource [test-context.xml]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext prepareRefresh
    [junit] INFO: Refreshing org.springframework.context.support.GenericApplicationContext@1e13d52: display name [org.springframework.context.support.GenericApplicationContext@1e13d52]; startup date [Wed Mar 03 16:44:47 CST 2010]; root of context hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.context.support.AbstractApplicationContext obtainFreshBeanFactory
    [junit] INFO: Bean factory for application context [org.springframework.context.support.GenericApplicationContext@1e13d52]: org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.core.io.support.PropertiesLoaderSupport loadProperties
    [junit] INFO: Loading properties file from class path resource [jdbc.properties]
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.beans.factory.support.DefaultListableBeanFactory preInstantiateSingletons
    [junit] INFO: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1d86fd3: defining beans [productDao,dataSource,propertyConfigurer,transactionManager]; root of factory hierarchy
    [junit] Mar 3, 2010 4:44:47 PM org.springframework.jdbc.datasource.DriverManagerDataSource setDriverClassName
    [junit] INFO: Loaded JDBC driver: org.hsqldb.jdbcDriver
    [junit] ------------- ---------------- ---------------
    [junit] Testcase: testGetProductList(springapp.repository.JdbcProductDaoTests): Caused an ERROR
    [junit] Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit] org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:238)
    [junit]     at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.startNewTransaction(AbstractTransactionalSpringContextTests.java:387)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.onSetUp(AbstractTransactionalSpringContextTests.java:217)
    [junit]     at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:101)
    [junit]     at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [junit] Caused by: java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:602)
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:154)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:174)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:165)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:200)
    [junit] Testcase: testSaveProduct(springapp.repository.JdbcProductDaoTests):    Caused an ERROR
    [junit] Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit] org.springframework.transaction.CannotCreateTransactionException: Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:238)
    [junit]     at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager.java:377)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.startNewTransaction(AbstractTransactionalSpringContextTests.java:387)
    [junit]     at org.springframework.test.AbstractTransactionalSpringContextTests.onSetUp(AbstractTransactionalSpringContextTests.java:217)
    [junit]     at org.springframework.test.AbstractSingleSpringContextTests.setUp(AbstractSingleSpringContextTests.java:101)
    [junit]     at org.springframework.test.ConditionalTestCase.runBare(ConditionalTestCase.java:76)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
    [junit]     at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)
    [junit] Caused by: java.sql.SQLException: No suitable driver found for jdbc:hsqldb:hsql://localhost
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:602)
    [junit]     at java.sql.DriverManager.getConnection(DriverManager.java:154)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriverManager(DriverManagerDataSource.java:174)
    [junit]     at org.springframework.jdbc.datasource.DriverManagerDataSource.getConnectionFromDriver(DriverManagerDataSource.java:165)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnectionFromDriver(AbstractDriverBasedDataSource.java:149)
    [junit]     at org.springframework.jdbc.datasource.AbstractDriverBasedDataSource.getConnection(AbstractDriverBasedDataSource.java:119)
    [junit]     at org.springframework.jdbc.datasource.DataSourceTransactionManager.doBegin(DataSourceTransactionManager.java:200)
    [junit] Test springapp.repository.JdbcProductDaoTests FAILED
    [junit] Running springapp.service.SimpleProductManagerTests
    [junit] Testsuite: springapp.service.SimpleProductManagerTests
    [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Tests run: 5, Failures: 0, Errors: 0, Time elapsed: 0 sec
    [junit] Running springapp.web.InventoryControllerTests
    [junit] Testsuite: springapp.web.InventoryControllerTests
    [junit] Mar 3, 2010 4:44:47 PM springapp.web.InventoryController handleRequest
    [junit] INFO: Returning hello view with Wed Mar 03 16:44:47 CST 2010
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.031 sec
    [junit] Tests run: 1, Failures: 0, Errors: 0, Time elapsed: 0.031 sec
    [junit] ------------- Standard Error -----------------
    [junit] Mar 3, 2010 4:44:47 PM springapp.web.InventoryController handleRequest
    [junit] INFO: Returning hello view with Wed Mar 03 16:44:47 CST 2010
    [junit] ------------- ---------------- ---------------

BUILD FAILED
C:\MyJava\workspace\springapp\build.xml:203: tests.failed=true
            ***********************************************************
            ***********************************************************
            ****  One or more tests failed!  Check the output ...  ****
            ***********************************************************
            ***********************************************************

Total time: 1 second

1 个答案:

答案 0 :(得分:0)

所以错误是:

Could not open JDBC Connection for transaction; 
nested exception is java.sql.SQLException: 
No suitable driver found for jdbc:hsqldb:hsql://localhost

你的类路径上有HSQLDB吗?我猜测它在Ant构建的早期部分正确引用,因为它似乎有效。您的测试是在不同的进程中生成的,并且缺少类路径条目吗?