有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

自定义提供程序中的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) 个答案