我需要在应用程序上下文加载之前创建hssldb。我发现如何用spring-modules-sandbox做到这一点 http://forum.springsource.org/showthread.php?14419-HSQL-server-wrapped-into-a-Spring-bean&p=19830#post19830
添加maven依赖:
<dependency>
<groupId>org.springmodules</groupId>
<artifactId>spring-modules-sandbox</artifactId>
<version>0.8</version>
</dependency>
编译时获得以下警告:
Downloading: http://10.10.1.33:8081/nexus/content/groups/public/org/springmodules/spring-modules-sandbox/0.8/spring-modules-sandbox-0.8.pom
[WARNING] The POM for org.springmodules:spring-modules-sandbox:jar:0.8 is missing, no dependency information available
但是成功了。 然后尝试使用bean:
<bean id="dataBase" class="org.springmodules.db.hsqldb.ServerBean" scope="singleton" lazy-init="false">
<!--<property name="dataSource" ref="idtSimulatorDataSource" >-->
<!--<!–<ref local=""/>–>--> <!--<!–
<ref local= "idtSimulatorDataSource"/>–>--> <!--</property>-->
<property name="serverProperties" >
<props>
<prop key="server.port">9101</prop>
<prop key="server.database.0">./idt_simulatorsdb</prop>
<prop key="server.dbname.0">idt_simulatorsdb</prop>
</props>
</property>
</bean>
在appcontext加载过程中出错:
java.lang.NoClassDefFoundError: org/hsqldb/HsqlProperties
谷歌没有真正需要帮助
答案 0 :(得分:0)
spring-modules-sandbox
于2007年8月20日上传到maven中心! (所以我猜它不是Spring 3.0兼容)在pom.xml
目录中没有META-INF
或任何依赖信息。
因此,如果你真的想要使用它,看起来你需要添加spring-modules-sandbox所需的所有依赖项必须由你明确地添加到你的pom的依赖项中。其中一个缺少的依赖项是包含org.hsqldb.HsqlProperties
的依赖项
该类包含在hsqldb 1.7:
<dependency>
<groupId>hsqldb</groupId>
<artifactId>hsqldb</artifactId>
<version>1.7.3.3</version>
</dependency>
注意:hsqldb 1.8中删除了org.hsqldb.HsqlProperties
!所以可能问题是你为spring-modules-sandbox使用了一个太新的版本