找不到依赖?弹簧模块的沙箱

时间:2011-10-20 05:56:06

标签: java spring javabeans hsqldb

我需要在应用程序上下文加载之前创建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" >-->
 <!--&lt;!&ndash;<ref local=""/>&ndash;&gt;--> <!--&lt;!&ndash;
<ref local= "idtSimulatorDataSource"/>&ndash;&gt;--> <!--</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 
谷歌没有真正需要帮助

1 个答案:

答案 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使用了一个太新的版本