2016-04-05 28 views
0

Alt sınıf LocalSessionFactoryBean'a göre ek açıklama sınıflandırması ayarlamaya çalışıyorum.
Bean xml, 4 paketini hazırda bekletme modunu değiştirene kadar hazırda bekletme 3 ile düzgün şekilde yüklendi.Eclipse RCP Yay 3 Hazırda bekleme 4 sınıf yükleme sorunu

ClassPathXmlApplicationContext: Exception encountered during context initia 
lization - cancelling refresh attempt 

    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) 
Caused by: java.lang.NoClassDefFoundError: org/hibernate/HibernateException 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2595) 
    at java.lang.Class.getConstructor0(Class.java:2895) 
    at java.lang.Class.getDeclaredConstructor(Class.java:2066) 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:7 
8) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapable 
BeanFactory.java:1032) 
    ... 18 more 
Caused by: java.lang.ClassNotFoundException: org.hibernate.HibernateException 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:501) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
    ... 24 more 

Benim bean.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:jms="http://www.springframework.org/schema/jms" 
    xmlns:tx="http://www.springframework.org/schema/tx" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd 
       http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-3.1.xsd 
       http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd" > 

    <!-- Transaction Manager Definition --> 
    <bean id = "transactionManager"  class = "org.springframework.orm.hibernate4.HibernateTransactionManager"> 
     <property name = "sessionFactory"  ref = "sessionFactory" /> 
    </bean> 


    <bean id="dataSource"   class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> 
    </bean>  

    <bean id="sessionFactory"   class = "customSessionFactory"> 
     <property name="dataSource"   ref="dataSource" /> 
     <property name="hibernateProperties"> 
       <props> 
        <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop> 
      <prop key="hibernate.jdbc.batch_size">10000</prop> 
      <prop key="hibernate.show_sql">false</prop> 
      <!-- Cache Properties --> 
      <prop key="hibernate.cache.use_second_level_cache">false</prop> 
      <prop key="hibernate.cache.use_query_cache">false</prop> 
      <prop key="hibernate.generate_statistics">true</prop> 
      <prop key="hibernate.cache.use_structured_entries">true</prop> 
      <prop key="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</prop> 
      <prop key="hibernate.cache.region.factory_class">net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory</prop> 
      <prop key="net.sf.ehcache.configurationResourceName">ehcache.xml</prop> 
       </props> 
      </property> 
    </bean> 

customSessionFactory sınıf setAnnotationClass varlık sınıfları bu hata var. Burada yanlış olan ne yaptım?

cevap

0

Paketinizin org.hibernate paketini içe aktardığından emin olun. Bu hazırda bekletme 3.x için gerekli olmayabilir.

MANIFEST.MF'nizde Import-Package: bölümüne org.hibernate ekleyin.

+0

Teşekkürler. Org.hibernate içe aktarılmış ve görünürlük: = reexport olan başka bir paket zaten ithal ettim. org.hibernate orada olmalı. Fasulye yüklemek için kullandığım Bean ClassPathXmlApplicationContext() üzerinde sınıf yükleyici ile bir şeyler yapmak gerekebilir. – Springgrass

+1

Tamam, Eclipse-BuddyPolicy: registered, ext, global org.hibernate MANIFEST.MF paketine ekledikten sonra, hiçbir sınıfta hata bulunamadı. Yine de haritalamada bir sorunum var. @MappedSuperclass ile bile bir şekilde mirasa bağlanma ek açıklama çalışmaz. – Springgrass

İlgili konular