궁금 한 오류: IllegalAccessError, EhcacheManager

junit 테스트 시 spring bean 을 불 러 올 때 오류 가 발생 했 습 니 다:
nested exception is java.lang.IllegalAccessError: tried to access method net.sf.ehcache.CacheManager.(Ljava/io/InputStream;)V from class org.springframework.cache.ehcache.EhCacheManagerFactoryBean
ehcache 1.1 에서 independent cache 를 사용 할 수 없 음 을 발 견 했 습 니 다. spring 의 자바 doc 는:
Set whether the EHCache CacheManager should be shared (as a singleton at the VM level) or independent (typically local within the application). Default is "false", creating an independent instance.
Note that independent CacheManager instances are only available on EHCache 1.2 and higher. Switch this flag to "true" if you intend to run against an EHCache 1.1 jar.
EhCache Manager Factory Bean 의 코드 는 다음 과 같 습 니 다.

// Independent CacheManager instance (the default).
			if (this.configLocation != null) {
				this.cacheManager = new CacheManager(this.configLocation.getInputStream());
			}
			else {
				this.cacheManager = new CacheManager();
			}

ehcache 1.1 에서 CacheManager () 와 CacheManager (InputStream) 는 모두 private 이기 때문에 발생 합 니 다.
IllegalAccessError, 그런데 왜 init 방법 을 잘못 보 고 했 습 니까?init 방법 은 1, 2 에 나 타 났 는데 1, 1 은 그 럴 방법 이 없 었 어 요.

좋은 웹페이지 즐겨찾기