论坛首页 Java企业应用论坛

纳闷的错误:IllegalAccessError,EhcacheManager

浏览 4634 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-01-10  
junit测试时在 加载spring bean的时候报错:
nested exception is java.lang.IllegalAccessError: tried to access method net.sf.ehcache.CacheManager.<init>(Ljava/io/InputStream;)V from class org.springframework.cache.ehcache.EhCacheManagerFactoryBean

发现是ehcache 1.1中没法使用independent cache,spring的javadoc说:
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.

EhCacheManagerFactoryBean的代码如下:
// Independent CacheManager instance (the default).
			if (this.configLocation != null) {
				this.cacheManager = new CacheManager(this.configLocation.getInputStream());
			}
			else {
				this.cacheManager = new CacheManager();
			}

在ehcache1.1中CacheManager()和,CacheManager(InputStream)都是private的,所以会发生
IllegalAccessError,但是为什么报错的是试图调用 init方法呢? init方法在1.2才出现的,1.1根本没这个方法。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics