【问题标题】:Redisson NoSuchFieldError: WRITE_BIGDECIMAL_AS_PLAINRedisson NoSuchFieldError:WRITE_BIGDECIMAL_AS_PLAIN
【发布时间】:2014-05-29 19:41:42
【问题描述】:

我刚刚通过 maven 导入了 redisson 1.0.3,在默认端口的 localhost 上设置了一个 redis-server,并想尝试使用 redisson redis 客户端。我的测试代码如下:

Redisson redis = Redisson.create();
Map m = redis.getMap("someMap");

但我得到了:

java.lang.NoSuchFieldError: WRITE_BIGDECIMAL_AS_PLAIN
    at org.redisson.codec.JsonJacksonCodec.createObjectMapper(JsonJacksonCodec.java:90)
    at org.redisson.codec.JsonJacksonCodec.<init>(JsonJacksonCodec.java:43)
    at org.redisson.Config.<init>(Config.java:44)
    at org.redisson.Redisson.create(Redisson.java:85)
    at ...

按照Redisson: WRITE_BIGDECIMAL_AS_PLAIN 中的建议,我添加了依赖项:

    <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-core</artifactId>
        <version>2.3.3</version>
    </dependency>

但没有变化... 我猜 redisson 的依赖关系在某种程度上被破坏了,但我该如何解决这个问题?

【问题讨论】:

    标签: java maven redis client jackson


    【解决方案1】:

    似乎我的类路径已经包含了旧版本的 jackson,这修复了它:

        <!-- Redis deps -->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.3.2</version>
        </dependency>
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.3.0</version>
        </dependency>
    
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>1.0.3</version>
        </dependency>
    

    【讨论】:

    • 看看redisson的pom.xml里面有jackson-core:2.3.2和jackson-databind 2.3.2
    猜你喜欢
    • 2017-10-09
    • 1970-01-01
    • 2019-05-04
    • 2018-03-28
    • 2020-07-19
    • 2020-08-11
    • 2019-08-02
    • 1970-01-01
    • 2017-07-04
    相关资源
    最近更新 更多