2014-04-11 4 views
-1

누구나 도와주세요. 내 프로젝트는 최대 절전 모드 3.5 및 스프링 3.0.1 프레임 워크를 사용했습니다. 나는 내가 문제 만난 바람둥이 서버 7 내 프로젝트를 전개 내 프로젝트를 실행할 수 없습니다 :중첩 예외는 java.lang.IllegalArgumentException : Expecting collection type [[Ljava.lang.String;]

오류 로그 :

 Apr 14, 2014 8:11:29 AM org.apache.catalina.core.StandardContext filterStart 
     SEVERE: Exception starting filter springSecurityFilterChain 
     org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ticketRegistry' defined in ServletContext resource [/WEB-INF/spring-configuration/ticketRegistry.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting constructor argument; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/deployerConfigContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Expecting collection type [[Ljava.lang.String;] 
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:328) 
      ................................................................. 
    org.jasig.cas.web.init.SafeContextLoaderListener.contextInitialized(SafeContextLoaderListener.java:62) 
      org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1839) 
      at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
      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:1110) 
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
      at java.lang.Thread.run(Thread.java:722) 
     Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/deployerConfigContext.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: Expecting collection type [[Ljava.lang.String;] 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1403) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:450) 
      at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:290) 
      at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
      at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:287) 
      at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:189) 
      at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:322) 
      ... 32 more 
     Caused by: java.lang.IllegalArgumentException: Expecting collection type [[Ljava.lang.String;] 
      at org.hibernate.ejb.metamodel.AttributeFactory.determineCollectionType(AttributeFactory.java:875) 
      at org.hibernate.ejb.metamodel.AttributeFactory$PluralAttributeMetadataImpl.<init>(AttributeFactory.java:739) 
      at org.hibernate.ejb.metamodel.AttributeFactory$PluralAttributeMetadataImpl.<init>(AttributeFactory.java:720) 
      at org.hibernate.ejb.metamodel.AttributeFactory.determineAttributeMetadata(AttributeFactory.java:515) 
      at org.hibernate.ejb.metamodel.AttributeFactory.buildAttribute(AttributeFactory.java:90) 
      at org.hibernate.ejb.metamodel.MetadataContext.wrapUp(MetadataContext.java:183) 
      at org.hibernate.ejb.metamodel.MetamodelImpl.buildMetamodel(MetamodelImpl.java:66) 
      at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:83) 
      at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:850) 
      at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73) 
      at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225) 
      at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1460) 
      at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1400) 
      ... 39 more 
Apr 14, 2014 8:11:29 AM org.apache.catalina.core.ApplicationContext log 

된 deployerConfigContext.xml

................... 

    <bean id="serviceRegistryDao" class="org.jasig.cas.services.JpaServiceRegistryDaoImpl" 
      p:entityManagerFactory-ref="entityManagerFactory" /> 

     <!-- This is the EntityManagerFactory configuration for Hibernate --> 
    <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="showSql" value="true" /> 
      </bean> 
     </property> 
     <property name="jpaProperties"> 
      <props> 
       <prop key="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</prop> 
       <prop key="hibernate.hbm2ddl.auto">update</prop> 
      </props> 
     </property> 
    </bean> 

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> 
     <property name="entityManagerFactory" ref="entityManagerFactory"/> 
    </bean> 

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

    <bean 
     id="dataSource" 
     class="org.apache.commons.dbcp.BasicDataSource" 
     p:driverClassName="com.mysql.jdbc.Driver" 
     p:url="jdbc:mysql://10.61.203.192:3306/casDb?autoReconnect=true" 
     p:username="username" 
     p:password="password" 
     />  
</beans> 

ticketRegistry합니다. xxx

................................ 

    <!-- Ticket Registry --> 
    <bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.JpaTicketRegistry"> 
     <constructor-arg index="0" ref="entityManagerFactory" /> 
    </bean> 

    <!--Quartz --> 
    <!-- TICKET REGISTRY CLEANER --> 
    <bean id="ticketRegistryCleaner" class="org.jasig.cas.ticket.registry.support.DefaultTicketRegistryCleaner" 
      p:ticketRegistry-ref="ticketRegistry" /> 


    <bean id="cleanerLock" 
      class="org.jasig.cas.ticket.registry.support.JdbcLockingStrategy" 
      p:uniqueId="${host.name}" 
      p:platform="${ticket.cleaner.database.platform}" 
      p:applicationId="cas-ticket-registry-cleaner" 
      p:dataSource-ref="dataSource" 
    /> 

    <bean id="ticketRegistryCleanerJobDetail" 
      class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" 
      p:targetObject-ref="ticketRegistryCleaner" 
      p:targetMethod="clean" 
    /> 

    <bean id="periodicTicketRegistryCleanerTrigger" 
      class="org.springframework.scheduling.quartz.SimpleTriggerBean" 
      p:jobDetail-ref="ticketRegistryCleanerJobDetail" 
      p:startDelay="20000" 
      p:repeatInterval="1800000" 
    /> 
</beans> 

미리 감사드립니다!

+0

해당 예외의 전체 스택 추적이 있습니까? 또한 'ticketRegistry'bean의 정의는 무엇입니까? –

+0

안녕하세요, Andrei Stefan, 의견을 보내 주셔서 감사합니다. ticketRegistry.xml 파일을 추가했습니다. 내 문제에 대한 해결책이 있습니까? – user3205761

+0

또한 예외의 전체 스택 추적을 게시 할 수 있습니까? –

답변

0

stack-trace로 판단하면 persistence.xml 파일의 어딘가에서 시작하는 오류가 있습니다. 오류는 persistence.xml 자체, 엔티티 파일 중 하나 또는 orm 매핑 파일에있을 수 있습니다. persistence.xml 파일을 보여줘야합니다. 완벽한 스택 추적을 원하거나 더 나은 방법으로 완전한 로그 파일을 얻으려면 pastebin.com을 사용하고 여기에 제공된 URL을 제공 할 수 있습니다.

+0

안녕 Andrei Stefan, 이것은 전체 서버 로그 파일입니다. http://pastebin.com/68T8HRWx persistence.xml : http://pastebin.com/mCfhMGXz 고맙습니다. – user3205761

+0

[this] (https : //wiki.jasig.org/plugins/viewsource/viewpagesrc.action?pageId=11108686)? –

+0

예, 가이드를 따라 실행했습니다 : https://wiki.jasig.org/display/CASUM/JpaTicketRegistry 중요하지 않습니다. 그들의 내용은 비슷합니다. 내 프로젝트에 JpaTicketRegistry를 사용하기 쉽다. 테이블을 만들었지 만 Tomcat Server에서 실행할 때 프로젝트가 배치되지 않습니다. 콘솔에 항상 오류가 발생했습니다 : ( – user3205761

관련 문제