Вызвано: java.lang.NoSuchFieldError: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 - PullRequest
2 голосов
/ 23 мая 2019

При использовании java-библиотеки web3j в приложении весенней загрузки я получаю следующее исключение в строке Web3j.build. Любая идея, чтобы решить эту проблему?

private static final Web3j web3j = Web3j.build (новый HttpService ("https://rinkeby.infura.io/v3/sdas"));

Caused by: java.lang.NoSuchFieldError: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
    at org.web3j.protocol.http.HttpService.<clinit>(HttpService.java:37)
    at sg.com.paloit.hashit.service.ContractService.<clinit>(ContractService.java:36)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:142)
    at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1147)
    ... 48 common frames omitted


 <dependency>
     <groupId>org.web3j</groupId>
     <artifactId>core</artifactId>
     <version>4.1.0</version>
 </dependency>

1 Ответ

1 голос
/ 24 мая 2019
Ядро

org.web3j (4.1.0) поставляется с более низкой версией okhttp, которая не имеет шифра: TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256.

Это относительно новый шифр, изменение okhttp на okhttp3 помогло решить проблему.

        <dependency>
            <groupId>org.web3j</groupId>
            <artifactId>core</artifactId>
            <version>4.1.0</version>
            <exclusions>
                <exclusion>
                        <groupId>com.squareup.okhttp3</groupId>
                        <artifactId>okhttp</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>3.9.0</version>
        </dependency>
...