首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring 3集成测试- sessionFactory inicialization异常

Spring 3集成测试- sessionFactory inicialization异常
EN

Stack Overflow用户
提问于 2012-01-20 13:38:51
回答 2查看 3.6K关注 0票数 2

当我运行我的spring测试时,我收到了以下错误消息:

代码语言:javascript
复制
Caused by: 
java.lang.NoSuchMethodError: org/slf4j/impl/StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;

……

代码语言:javascript
复制
java.lang.ClassFormatError: JVMCFRE074 no Code attribute specified; class=javax/persistence/PersistenceException, method=<init>()V, pc=0

你能帮我找出错误信息的原因吗?似乎我在slf4j的依赖关系方面有一些问题--但我在项目中遇到了这些问题。

测试类:

代码语言:javascript
复制
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"/businessApplicationContextTest.xml"})
@TransactionConfiguration(transactionManager="transactionManager", defaultRollback=true)
@Transactional
public class LogicHandlerTest {

    @SessionFactory
    SessionFactory sessionFactory;

@Before
public void setup() {System.out.println("@Before");}

@Test
public void testDummy() {
    System.out.println("testDummy");
    assert(true);
}
}

Spring测试上下文配置:

代码语言:javascript
复制
<!-- DATASOURCE -->
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    <property name="driverClassName"    value="org.hsqldb.jdbcDriver"/>       
    <property name="url"                value="jdbc:hsqldb:mem:test"/>        
    <property name="username"           value="sa"/>          
    <property name="password"           value=""/>  
</bean> 

<!-- SESSION FACTORY -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="packagesToScan" value="com.test.dummyproject.entity"/>
    <property name="hibernateProperties">
      <props>
            <prop key="hibernate.jdbc.batch_size">100</prop>
            <prop key="hibernate.show_sql">true</prop>
            <prop key="hibernate.connection.autocommit">true</prop>
            <prop key="hibernate.dialect">org.hibernate.dialect.HSQLDialect</prop>
        </props>
    </property>
</bean>

<!-- TRANSACTION MANAGER -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory" ref="sessionFactory"/>
</bean>

依赖性(来自POM.XML的版本):

代码语言:javascript
复制
    hibernate                        3.2.3.ga
    hibernate-annotations            3.3.1.GA
    hibernate-commons-annotations    3.2.0.Final
    javaee-api                   6.0
    slf4j-api                        1.6.4
    slf4j-log4j12                    1.6.4
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-24 08:55:18

错误消息的原因是maven依赖项混乱--我已经从我的项目中删除了javaee 6依赖项,现在一切正常。(因为websphere server已经包含javaee 6库)。

票数 0
EN

Stack Overflow用户

发布于 2012-01-20 14:34:51

似乎你没有在测试中注射SessionFactory,

代码语言:javascript
复制
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" auto-wire="byName">

@Resource
SessionFactory sessionFactory

更新:将这些罐子添加到类路径中

代码语言:javascript
复制
01.antlr-2.7.6
02.commons-collections-3.1
03.dom4j-1.6.1
04.hibernate3
05.database specific jar
06.javassist-3.4.GA
07.jta-1.1
08.slf4j-api-1.5.6
09.slf4j-simple-1.5.6
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8942257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档