현재 일부 프로젝트를 maven으로 변환 중이고 전쟁이 시작될 때 문제가 발생합니다. 그래서 저는 매우 간단한 ehcache maven 프로젝트를 만들었고 클래스 로더 유형의 이슈를 얻었습니다.간단한 ehcache 프로젝트 예외
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.test</groupId>
<artifactId>MVCTest</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<properties>
<spring.version>3.2.4.RELEASE</spring.version>
</properties>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<!-- Spring 3 dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>com.googlecode.ehcache-spring-annotations</groupId>
<artifactId>ehcache-spring-annotations</artifactId>
<version>1.2.0</version>
</dependency>
</dependencies>
<build>
<finalName>SpringMVC</finalName>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
봄 설정 : http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring http://ehcache-spring-annotations.googlecode.com/svn/schema/ehcache-spring/ehcache-spring-1.1.xsd ">
<context:component-scan base-package="com.test.common.controller" />
<ehcache:annotation-driven />
<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager">
<property name="cacheManager" ref="ehcache" />
</bean>
<bean id="ehcache"
class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean">
<property name="configLocation" value="/WEB-INF/ehcache.xml" />
</bean>
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>/WEB-INF/pages/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
springmvc 부분에서 아직 ehcache를 사용하지 않고 HelloWorld 유형의 mvc 설정이 있습니다.
이 던진 예외입니다 : SEVERE : 컨텍스트 초기화 org.springframework.beans.factory.BeanCreationException 실패 : 작업 공간 \ 봄 \ \ 사용자 \ umxa894 : 오류 이름 'helloController'파일에 정의 된 [C와 콩을 만드는. metadata.plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ MVCTest \ WEB-INF \ classes \ com \ test \ common \ controller \ HelloController.class] : Bean 초기화에 실패했습니다. 중첩 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름이 'com.googlecode.ehcache.annotations.config.internalEhCacheCachingAdvisor'인 빈을 생성하는 중 오류가 발생했습니다 : bean 'com.googlecode.ehcache.annotations.impl.CacheStaticMethodMatcherPointcut # 0 'bean 속성'pointcut '설정 중; 중첩 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름이 'com.googlecode.ehcache.annotations.impl.CacheStaticMethodMatcherPointcut # 0'인 bean을 생성하는 중 오류가 발생했습니다 : bean 'com.googlecode.ehcache.annotations.impl에 대한 참조를 해석 할 수 없습니다. CacheAttributeSourceImpl # 0 '빈 속성'cacheAttributeSource '설정하는 동안; 중첩 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름이 'com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl # 0'인 빈을 생성하는 중 오류가 발생했습니다 : 빈 초기화에 실패했습니다. 중첩 예외는 org.springframework.beans.ConversionNotSupportedException : 'org.springframework.cache.ehcache.EhCacheCacheManager'유형의 속성 값을 'cacheManager'속성의 필수 유형 'net.sf.ehcache.CacheManager'로 변환하는 데 실패했습니다. 중첩 예외가 java.lang.IllegalStateException : 'cacheManager'속성에 대해 [org.springframework.cache.ehcache.EhCacheCacheManager] 유형의 값을 필수 유형 [net.sf.ehcache.CacheManager]으로 변환 할 수 없습니다 : 일치하는 편집기 또는 변환 전략을 찾을 수 없습니다. org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean에서 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:529) (AbstractAutowireCapableBeanFactory.java:458) 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 : 628) org.springframework.web에서 org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:479에서 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:932) 에서 ) .org.springframework.web.context.ContextLoaderListener.contextInitialized (ContextLoaderListener.java에서 org.springframework.web.context.ContextLoader.initWebApplicationContext (ContextLoader.java:294) 에서 context.ContextLoader.configureAndRefreshWebApplicationContext (ContextLoader.java:389) : 112) at org.apache.catalina.core.StandardContext.listenerStart (StandardContext.java:4973) at org.apache.catalina.core.StandardContext.startInternal (StandardContext.java:5467) 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 (알 수없는 소스) 에서 java.util.concurrent.ThreadPoolExecutor.runWorker (알 수없는 소스) 에서 java.util.concurrent.ThreadPoolExecutor에서 $ Worker.run (알 수없는 소스) 에서 java.lang.Thread.run (알 수없는 소스) ) 에 의해 발생 : org.springframework.beans.factory.BeanCreationException : 'com.googlecode.ehcache.annotations.config.internalEhCacheCachingAdvisor'라는 이름의 빈을 만드는 중 오류가 발생했습니다 : 'com.googlecode.ehcache.annotations.impl'bean에 대한 참조를 확인할 수 없습니다. CacheStaticMethodMatcherPointcut # 0 '빈 속성'pointcut '설정 중; 중첩 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름이 'com.googlecode.ehcache.annotations.impl.CacheStaticMethodMatcherPointcut # 0'인 bean을 생성하는 중 오류가 발생했습니다 : bean 'com.googlecode.ehcache.annotations.impl에 대한 참조를 해석 할 수 없습니다. CacheAttributeSourceImpl # 0 '빈 속성'cacheAttributeSource '설정하는 동안; 중첩 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름이 'com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl # 0'인 빈을 생성하는 중 오류가 발생했습니다 : 빈 초기화에 실패했습니다. 중첩 예외는 org.springframework.beans.ConversionNotSupportedException : 'org.springframework.cache.ehcache.EhCacheCacheManager'유형의 속성 값을 'cacheManager'속성의 필수 유형 'net.sf.ehcache.CacheManager'로 변환하는 데 실패했습니다. 중첩 예외가 java.lang.IllegalStateException : 'cacheManager'속성에 대해 [org.springframework.cache.ehcache.EhCacheCacheManager] 유형의 값을 필수 유형 [net.sf.ehcache.CacheManager]으로 변환 할 수 없습니다 : 일치하는 편집기 또는 변환 전략을 찾을 수 없습니다. org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary에서 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference (BeanDefinitionValueResolver.java:329) (BeanDefinitionValueResolver.java:107) org.springframework에서 에서 . org.springframework.b에서 beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues (AbstractAutowireCapableBeanFactory.java:1387) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1128)에서 eans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:519) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:458)에서 org.springframework.beans.factory.support에서 . org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean에서 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:223) 에서 AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:295) (AbstractBeanFactory .java : 292) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:198) at org.springframework.aop.framework.autoproxy.BeanFactoryAdvisorRetrievalHelper.findAdvisorBeans (BeanFactoryAd visorRetrievalHelper.java:86) org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findCandidateAdvisors (AbstractAdvisorAutoProxyCreator.java:101) org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.findEligibleAdvisors에서 에서 (AbstractAdvisorAutoProxyCreator.java:87) at org.springframework.aop.framework.autoproxy.AbstractAdvisorAutoProxyCreator.org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization (AbstractAutoProxyCreator.java에서 org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary (AbstractAutoProxyCreator.java:359) 에서 getAdvicesAndAdvisorsForBean (AbstractAdvisorAutoProxyCreator.java:69) : 322) 조직에서 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1488) 에서 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization (AbstractAutowireCapableBeanFactory.java:409) 에서 . springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:521) ... 20 자세히 원인 : org.springframework.beans.factory.BeanCreationException : 'com.googlecode.ehcache.annotations.impl.CacheStaticMethodMatcherPointcut # 0'이라는 이름의 빈을 만드는 동안 오류가 발생했습니다 : bean 'com.googlecode.ehcache.annotations.impl에 대한 참조를 확인할 수 없습니다. .CacheAttributeSourceImpl # 0 '빈 속성'cacheAttributeSource '설정하는 동안; 중첩 예외는 org.springframework.beans.factory.BeanCreationException입니다 : 이름이 'com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl # 0'인 빈을 생성하는 중 오류가 발생했습니다 : 빈 초기화에 실패했습니다. 중첩 예외는 org.springframework.beans.ConversionNotSupportedException : 'org.springframework.cache.ehcache.EhCacheCacheManager'유형의 속성 값을 'cacheManager'속성의 필수 유형 'net.sf.ehcache.CacheManager'로 변환하는 데 실패했습니다. 중첩 예외가 java.lang.IllegalStateException : 'cacheManager'속성에 대해 [org.springframework.cache.ehcache.EhCacheCacheManager] 유형의 값을 필수 유형 [net.sf.ehcache.CacheManager]으로 변환 할 수 없습니다 : 일치하는 편집기 또는 변환 전략을 찾을 수 없습니다. org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary에서 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference (BeanDefinitionValueResolver.java:329) (BeanDefinitionValueResolver.java:107) org.springframework에서 에서 . org.springframework.b에서 beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues (AbstractAutowireCapableBeanFactory.java:1387) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1128)에서 eans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:519) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:458)에서 org.springframework.beans.factory.support에서 . org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean에서 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:223) 에서 AbstractBeanFactory $ 1.getObject (AbstractBeanFactory.java:295) (AbstractBeanFactory .java : 292) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:194) at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference (BeanDefinitionValueRe solver.java:323) ... 38 more 에 의해 발생 : org.springframework.beans.factory.BeanCreationException : 'com.googlecode.ehcache.annotations.impl.CacheAttributeSourceImpl # 0'이름의 빈을 생성하는 중 오류가 발생했습니다 : Bean 초기화 실패한; 중첩 예외는 org.springframework.beans.ConversionNotSupportedException : 'org.springframework.cache.ehcache.EhCacheCacheManager'유형의 속성 값을 'cacheManager'속성의 필수 유형 'net.sf.ehcache.CacheManager'로 변환하는 데 실패했습니다. 중첩 예외가 java.lang.IllegalStateException : 'cacheManager'속성에 대해 [org.springframework.cache.ehcache.EhCacheCacheManager] 유형의 값을 필수 유형 [net.sf.ehcache.CacheManager]으로 변환 할 수 없습니다 : 일치하는 편집기 또는 변환 전략을 찾을 수 없습니다. 조직에서 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:458) 에서 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:529) 에서 .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 org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference에서 .support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:292) org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:194)에서 (BeanDefinitionValueResolver.java:323) ... 48 more 발생 원인 : org.springframework.beans.ConversionNotSupportedException : 'org.springframework.cache.ehcache.EhCacheCacheManager'유형의 속성 값을 필수 유형 'net.sf로 변환하는 데 실패했습니다. .ehcache.CacheManager '속성'c acheManager '; 중첩 예외가 java.lang.IllegalStateException : 'cacheManager'속성에 대해 [org.springframework.cache.ehcache.EhCacheCacheManager] 유형의 값을 필수 유형 [net.sf.ehcache.CacheManager]으로 변환 할 수 없습니다 : 일치하는 편집기 또는 변환 전략을 찾을 수 없습니다. org.springframework.beans.BeanWrapperImpl.convertIfNecessary (BeanWrapperImpl.java:463) org.springframework.beans.BeanWrapperImpl.convertForProperty에서 org.springframework.beans.BeanWrapperImpl.convertForProperty (BeanWrapperImpl.java:494) 에서 (BeanWrapperImpl에 . 자바 : org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues에서 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty (AbstractAutowireCapableBeanFactory.java:1433) 에서 488) (AbstractAutowireCapableBeanFactory.java:1392)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean에서 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1128)에서 (AbstractAutowireCapableBeanFactory.java:519) ... (54)보다 발생 원인 : java.lang.IllegalStateException : [org.springframework.cache.ehcache.EhCacheCacheManager] 유형의 값을 'cacheManager'속성의 필수 유형 [net.sf.ehcache.CacheManager]으로 변환 할 수 없습니다 : 일치하는 편집기 또는 변환 전략이 없습니다. 더
01 org.springframework.beans.BeanWrapperImpl.convertIfNecessary (BeanWrapperImpl.java:448) ... 60 org.springframework.beans.TypeConverterDelegate.convertIfNecessary (TypeConverterDelegate.java:264) 에서 발견무엇이 누락 되었습니까? 나는 그것이 단순한 것으로 가정하고 있지만, 프로젝트는 단순한 ehcache 프로젝트를위한 거의 모든 hello world 유형처럼 보입니다.