我有一个简单的spring应用程序。我需要在一些每次调用都很昂贵的服务上实现缓存。
我有这样一个配置类:
@Configuration
@EnableCaching
public class CachingConfig {
@Bean (name = "caffeineCacheManager")
public CacheManager cacheManager() {
CaffeineCacheManager cacheManager = new CaffeineCacheManager("projectList", "backlog", "childProjectList", "testRun");
cacheManager.setCaffeine(caffeineCacheBuilder());
return cacheManager;
}
Caffeine< Object, Object > caffeineCacheBuilder() {
return Caffeine.newBuilder()
.initialCapacity(100)
.maximumSize(500)
.expireAfterAccess(1, TimeUnit.MINUTES)
.weakKeys()
.recordStats();
}
}
我的 pom.xml
包括:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<dependency>
<groupId>com.github.ben-manes.caffeine</groupId>
<artifactId>caffeine</artifactId>
<version>2.8.8</version>
</dependency>
我有一个方法需要像这样缓存:
@Cacheable(value = "projectList", cacheManager = "caffeineCacheManager")
public Map<String, String> getProjectList() {
return getProjectList(); //**SOME EXPENSIVE CALL**
}
每次我运行我得到的应用程序 java.lang.NoClassDefFoundError: com/github/benmanes/caffeine/cache/Caffeine
.
以下是完整的堆栈跟踪:https://textuploader.com/1eil3 我不知道我哪里做错了,或者我是否遗漏了什么。
1条答案
按热度按时间uurv41yg1#
我分析了你的代码,我认为perphaps的问题与某个库有一个旧版本的咖啡因有关。检查依赖关系树