2013-02-25 3 views
0

У меня есть простое веб-приложение, которое я пытаюсь запустить, и у меня проблемы. Я перенесла приложение Java EE 6 на Spring. Кажется, спящий режим начинается нормально, но когда Spring пытается создать именованный компонент, который ссылается на сущность, я получаю ClassNotFoundException.весна + класс спящего режима не найден

Любые идеи, почему банку внутри WEB-INF/lib WAR не видно весной? Есть ли у меня какая-то прокси-проблема?

Дайте мне знать, в каких файлах вы хотели бы видеть фрагменты, если они есть.

РЕДАКТИРОВАТЬ: трассировка трассировки - для краткости я изменил имена квалифицированных классов, в трассировке стека. Я также прикрепил конфигурацию весенних бобов. Кроме того, FYI, мои классы сущностей находятся в разных файлах jar (по дизайну). Я считаю, что это вызывает некоторые проблемы, но я не уверен, почему.

n]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: api/model/principal/Group 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1011) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:957) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:490) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292) 
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626) 
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932) 
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479) 
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) 
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) 
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) 
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791) 
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285) 
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
    at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [server.administration.GroupExampleBean]: Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: api/model/principal/Group 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:163) 
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1004) 
    ... 23 more 
Caused by: java.lang.NoClassDefFoundError: api/model/principal/Group 
    at server.administration.GroupExampleBean.<init>(GroupExampleBean.java:20) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:525) 
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) 
    ... 25 more 
Caused by: java.lang.ClassNotFoundException: api.model.principal.Group 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
    ... 31 more 

Мой контекст Spring приложения:

<?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:context="http://www.springframework.org/schema/context" 
      xmlns:tx="http://www.springframework.org/schema/tx" 
      xmlns:jdbc="http://www.springframework.org/schema/jdbc" 
      xmlns:jpa="http://www.springframework.org/schema/jpa" 
      xsi:schemaLocation="http://www.springframework.org/schema/beans 
      http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
      http://www.springframework.org/schema/context 
      http://www.springframework.org/schema/context/spring-context-3.2.xsd 
        http://www.springframework.org/schema/tx 
        http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
        http://www.springframework.org/schema/jdbc 
        http://www.springframework.org/schema/jdbc/spring-jdbc-3.2.xsd 
        http://www.springframework.org/schema/jpa 
        http://www.springframework.org/schema/jpa/spring-jpa-3.2.xsd"> 
    <jpa:repositories base-package="examples" /> 
    <context:component-scan base-package="examples"/> 
    <context:annotation-config/> 

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
     <property name="dataSource" ref="dataSource"/> 
     <property name="jpaVendorAdapter"> 
      <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
       <property name="generateDdl" value="true" /> 
       <property name="database" value="HSQL" /> 
       <property name="databasePlatform" value="org.hibernate.dialect.HSQLDialect" /> 
      </bean> 
     </property> 
     <property name="persistenceUnitName" value="persistenceUnit" /> 
    </bean> 

    <bean id="transactionMa## Heading ##nager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
     <!--<property name="entityManagerFactory" ref="entityManagerFactory"/>--> 
    </bean> 

    <!-- 
    can be: HSQL/H2/Derby 
    --> 
    <jdbc:embedded-database id="dataSource" type="HSQL"/> 

    <tx:annotation-driven transaction-manager="transactionManager" /> 

    <!-- For some reason the annotations are not being picked up yet --> 
    <!--<bean id="startupListener" class="examples.web.application.StartupListener"/>--> 

    <!-- Spring will manage the JPA Listeners 
    <jpa:auditing auditor-aware-ref="auditorAware" /> 
    <bean id="auditorAware" class="org.springframework.data.jpa.example.auditing.AuditorAwareImpl" /> 
    --> 

    <!-- 
    <jpa:repositories base-package="org.springframework.data.jpa.example.repository.simple" /> 
    --> 
</beans> 

Спасибо,

Walter

+0

Проверить и посмотреть, если содержимое WEB-INF/Lib были связаны в вашем WAR или перемещены в разобранном каталог вы начинаете с. – duffymo

+0

Что такое полная трассировка стека и сообщение об ошибке? Обычно сообщение сообщает вам, какой класс он не может найти. – beny23

+0

Я уже проверил файл WAR, они там. Однако, после просмотра журналов спящего режима, он не отображается в спящем режиме, обнаружив любые объекты, поскольку время запуска для обнаружения аннотированных классов было 0 мс. Я еще не проверял спячку. – Walter

ответ

0

я понял это, я должен был указать в моем persistence.xml указывая на внешние банки.

Walter

Смежные вопросы