java Spring Boot EhCache 3设置xml路径(无应用程序道具)
我已经介绍了几个使用spring boot设置ehcache 3的示例,但它们都显示了使用应用程序设置xml路径。道具文件:
https://howtodoinjava.com/spring-boot2/ehcache3-config-example/
https://azdanov.js.org/posts/configuring-ehcache-3-and-event-listeners-in-spring-boot/
https://www.javadevjournal.com/spring-boot/spring-boot-with-ehcache/
spring.cache.jcache.config=classpath:ehcache.xml
在Spring 4(不是Spring boot)中,可以这样做:
@Bean
public CacheManager cacheManager() {
return new EhCacheCacheManager(ehCacheCacheManager().getObject());
}
@Bean
public EhCacheManagerFactoryBean ehCacheCacheManager() {
EhCacheManagerFactoryBean cmfb = new EhCacheManagerFactoryBean();
cmfb.setConfigLocation(new ClassPathResource("ehcache.xml"));
cmfb.setShared(true);
return cmfb;
}
当我尝试使用它时,我得到了与此类似的错误: cannot access net.sf.ehcache.CacheManager, class file for net.sf.ehcache.CacheManager not found
Error:(21, 71) java: cannot access net.sf.ehcache.CacheManager
class file for net.sf.ehcache.CacheManager not found
建议的解决方案是在应用程序中设置路径。道具
我有一个包含libs/配置的jar,它作为依赖项添加到war中。jar将用于不同的war文件,因此我无法在应用程序中设置路径。战争档案中的道具
===
此解决方案可能会提供一些线索,但即使是这一个也指2。x类:
@Bean
public CacheManager cacheManager(net.sf.ehcache.CacheManager cacheManager) {
return new EhCacheCacheManager(cacheManager);
}
@Bean
public EhCacheManagerFactoryBean cacheManagerFactory() {
EhCacheManagerFactoryBean factoryBean = new EhCacheManagerFactoryBean();
factoryBean.setConfigLocation(new ClassPathResource("ehcache.xml"));
factoryBean.setShared(true);
return factoryBean;
}
https://stackoverflow.com/a/44053913/4091828
无法使用Java配置设置路径吗
共 (0) 个答案