【问题标题】:Can't find dependency? spring-modules-sandbox找不到依赖?弹簧模块沙箱
【发布时间】:2011-10-20 05:56:05
【问题描述】:

我需要在应用程序上下文加载之前创建 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 

google 没有帮助,真的需要帮助

【问题讨论】:

    标签: java spring javabeans hsqldb


    【解决方案1】:

    spring-modules-sandbox 于 2007 年 8 月 20 日上传到 Maven 中心!!! (所以我猜它不兼容 spring 3.0)在其 META-INF 目录中没有 pom.xml 或任何依赖信息。

    所以如果你真的想使用它,看起来你需要添加 spring-modules-sandbox 所需的所有依赖项,必须由你显式添加到你的 pom.xml 的依赖项中。缺少的依赖项之一是包含 org.hsqldb.HsqlProperties 的依赖项 该类包含在 hsqldb 1.7 中:

    <dependency>
      <groupId>hsqldb</groupId>
      <artifactId>hsqldb</artifactId>
      <version>1.7.3.3</version>
    </dependency>
    

    注意org.hsqldb.HsqlProperties 在 hsqldb 1.8 中被删除!所以问题可能是你为 spring-modules-sandbox 使用了一个太新的版本

    【讨论】:

    • 感谢您的回复。实际上我不需要使用沙盒。我只想将 hsqldb 服务器作为 spring bean 启动。你能帮帮我吗?
    • 同样的解决方案:添加 hsqldb 1.7.3.3
    • 我会问我的脑袋是不是一个好的解决方案,但我想这不是最好的主意。任何方式都比x
    • 有解决办法!我只是使用@BeforeClass Annotation 以编程方式启动我的服务器。具有此类注释的函数在上下文加载之前启动
    猜你喜欢
    • 1970-01-01
    • 2016-03-11
    • 2014-03-15
    • 1970-01-01
    • 2018-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-09-17
    • 2015-11-11
    相关资源
    最近更新 更多