当我跑我的春天JUnit测试我得到这个错误信息:春3集成测试 - SessionFactory的inicialization例外
Caused by:
java.lang.NoSuchMethodError: org/slf4j/impl/StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;
....
java.lang.ClassFormatError: JVMCFRE074 no Code attribute specified; class=javax/persistence/PersistenceException, method=<init>()V, pc=0
你能帮我找到一个该错误消息的原因?似乎我有与slf4j的依赖关系的一些问题 - 但我有他们在项目中。
Test类:
@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测试上下文配置:
<!-- 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中):
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
我添加了SessionFactory,现在我看到: java.lang.NoSuchMethodError:org/slf4j/impl/StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;这意味着我有一些依赖层次结构的confict ... :( – Martin85
我添加了所有必需的罐子。 –
不,它仍然没有工作 – Martin85