自定义提供程序中的redis错误,java。lang.NoClassDefFoundError:无法初始化类组织。雷迪森。配置。配置
我已经创建了这个dropwizard项目,我正在尝试使用Config()为其添加Redisson客户端。redis的版本是3.8.1
。以下是创建redis对象的自定义代码:
@Provides
@Singleton
public RedissonClient getRedissonClient() {
final RedisConfig redisConfig = configuration().getRedisConfig();
return redisConfig.isRedisActive() ? Redisson.create(new RedisConnectionBuilder(redisConfig).build()) : null;
}
//RedisConnectionBuilder.java
public RedisConnectionBuilder(final RedisConfig configuration) {
redisConfig = configuration;
}
public Config build() {
return redisConfig.getEndpoints().length > 1
? getReplicatedServersConfig()
: getSingleServerConfig();
}
private Config getSingleServerConfig() {
final Config config = new Config();
config.useSingleServer()
.setAddress(redisConfig.getEndpoints()[0])
.setTimeout(redisConfig.getTimeout())
.setIdleConnectionTimeout(redisConfig.getMaxIdle())
.setConnectionPoolSize(redisConfig.getMaxTotal());
return config;
}
在运行代码时,我得到以下错误:
Error in custom provider, java.lang.NoClassDefFoundError: Could not initialize class org.redisson.config.Config
at com.projectdir.ab.xyz.rest.modules.ApplicationModules.getRedissonClient(ApplicationModules.java:154) (via modules: com.google.inject.spi.Elements$ElementsAsModule -> com.projectdir.ab.xyz.rest.modules.ApplicationModules)
while locating org.redisson.api.RedissonClient
for the 1st parameter of com.projectdir.ab.xyz.event.modules.EventsModule.providesCacheManager(EventsModule.java:41)
at com.projectdir.ab.xyz.event.modules.EventsModule.providesCacheManager(EventsModule.java:41) (via modules: com.google.inject.spi.Elements$ElementsAsModule -> com.projectdir.ab.xyz.event.modules.EventsModule)
共 (0) 个答案