2012-01-20 25 views
2

は、私はこのエラーメッセージを得た:春3統合テスト私は私の春のJUnitテストを実行するときの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); 
} 
} 

スプリングテストコンテキストコンフィギュレーション:

<!-- 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> 

DEPENDENCIES(の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 

答えて

0

理由は、Mavenの依存関係に混乱だった - 私は取り除かたJavaEE 6 VEの私のプロジェクトからの依存関係がすべて正常に動作します。 (websphereサーバーにはすでにjavaee 6ライブラリが含まれているため)。

0

それはあなたがあなたのテストでのSessionFactoryを注入されていないようで、

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" auto-wire="byName"> 

@Resource 
SessionFactory sessionFactory 

更新:そのエラーメッセージのクラスパスにこれらのjarファイルを追加

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

ここにSessionFactoryを追加しましたが、今私は以下を参照しています: java.lang.NoSuchMethodError:org/slf4j/impl/StaticLoggerBinder.getSingleton()Lorg/slf4j/impl/StaticLoggerBinder;どのpropelyly私はいくつかの依存関係階層confidentを持っていることを意味... :( – Martin85

+0

私は必要なすべての瓶を追加 –

+0

いいえ、それはまだ働いていない 't – Martin85

関連する問題