使用java代码清除缓存

时间:2013-08-14 12:48:58

标签: java jmx

我正在尝试编写一些允许我清除缓存的Java,但是我使用CacheManager.getInstance()...时遇到的问题是错误:

Exception in thread "main" java.lang.NoClassDefFoundError:
   org/apache/commons/logging/LogFactory

当我将commons-logging-1.1.3.jar添加到项目时,错误是:

net.sf.ehcache.config.ConfigurationFactory parseConfiguration
    WARNING: No configuration found. Configuring ehcache from
    ehcache-failsafe.xml  found in the classpath:
    jar:file:/C:/Users/olawzi/Downloads/ehcache-1.2.3.jar!/ehcache-failsafe.xml

2 个答案:

答案 0 :(得分:3)

您通过添加其依赖项commons-logging来正确解决了第一个问题。

如上所述,第二个是警告而不是错误(但是,我认为这是一个非常严重的警告,因为使用的默认值是很可能不适合你的应用)。这意味着您忘记将ehcache.xml(ehcache的配置文件)添加到类路径中。添加该文件,消息就会消失。

另请注意,您似乎使用的ehcache版本(1.2.3)非常旧,它于2006年发布。当前版本为2.7,可以下载{{3 }}。基于Maven的项目的说明也在该页面上。

答案 1 :(得分:0)

你应该使用maven或gradle来管理jar依赖项:它会带来所有jar的好版本:否则你的问题很难修复