binance-exchange / binance-java-api

binance-java-api is a lightweight Java library for the Binance API, supporting synchronous and asynchronous requests, as well as event streaming using WebSockets.
MIT License
831 stars 628 forks source link

Cannot constru ct instance of ... #328

Open dman-sol opened 3 years ago

dman-sol commented 3 years ago

I'm building a native-image in graalvm. The build is successful, but I get this on startup. How can I fix it?

[яЄ ьрЁ. 05 21:23:52 MSK 2021][INFO] ==================== RUN TASK ====================
[яЄ ьрЁ. 05 21:23:52 MSK 2021][INFO] [SUB] Mar 05, 2021 9:23:52 PM com.fasterxml.jackson.databind.ext.Java7Support <clinit>
[яЄ ьрЁ. 05 21:23:52 MSK 2021][INFO] [SUB] WARNING: Unable to load JDK7 types (annotations, java.nio.file.Path): no Java7 support added
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB] Exception in Application start method
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB] Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:900)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at java.lang.Thread.run(Thread.java:834)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.oracle.svm.core.thread.JavaThreads.threadStartRoutine(JavaThreads.java:519)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.oracle.svm.core.windows.WindowsJavaThreads.osThreadStartRoutine(WindowsJavaThreads.java:138)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB] Caused by: java.lang.ExceptionInInitializerError
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:315)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at java.lang.Class.ensureInitialized(DynamicHub.java:530)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at java.lang.Class.newInstance(DynamicHub.java:876)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:938)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:982)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:229)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:754)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2812)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2638)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2552)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3327)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3284)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3253)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3226)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3203)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3196)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at org.dman.Main.start(Main.java:13)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:846)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:455)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:428)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at java.security.AccessController.doPrivileged(AccessController.java:102)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:427)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_VA_LIST:Ljava_lang_Runnable_2_0002erun_00028_00029V(JNIJavaCallWrappers.java:0)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.glass.ui.win.WinApplication._runLoop(WinApplication.java)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.sun.glass.ui.win.WinApplication.lambda$runLoop$3(WinApplication.java:174)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      ... 3 more
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB] Caused by: com.binance.api.client.exception.BinanceApiException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot constru
ct instance of `com.binance.api.client.domain.general.ServerTime` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Crea
tor)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]  at [Source: (okhttp3.ResponseBody$BomAwareReader); line: 1, column: 2]
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.binance.api.client.impl.BinanceApiServiceGenerator.executeSync(BinanceApiServiceGenerator.java:79)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.binance.api.client.impl.BinanceApiRestClientImpl.getServerTime(BinanceApiRestClientImpl.java:39)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at org.dman.Controller.<clinit>(Controller.java:17)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.oracle.svm.core.classinitialization.ClassInitializationInfo.invokeClassInitializer(ClassInitializationInfo.java:375)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.oracle.svm.core.classinitialization.ClassInitializationInfo.initialize(ClassInitializationInfo.java:295)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      ... 28 more
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB] Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.binance.api.client.domain.general.
ServerTime` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]  at [Source: (okhttp3.ResponseBody$BomAwareReader); line: 1, column: 2]
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.fasterxml.jackson.databind.DeserializationContext.reportBadDefinition(DeserializationContext.java:1451)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.fasterxml.jackson.databind.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1027)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.fasterxml.jackson.databind.deser.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1290)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.fasterxml.jackson.databind.deser.BeanDeserializer.deserialize(BeanDeserializer.java:159)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.fasterxml.jackson.databind.ObjectReader._bindAndClose(ObjectReader.java:1611)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.fasterxml.jackson.databind.ObjectReader.readValue(ObjectReader.java:1203)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:32)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at retrofit2.converter.jackson.JacksonResponseBodyConverter.convert(JacksonResponseBodyConverter.java:23)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at retrofit2.ServiceMethod.toResponse(ServiceMethod.java:122)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at retrofit2.OkHttpCall.parseResponse(OkHttpCall.java:217)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at retrofit2.OkHttpCall.execute(OkHttpCall.java:180)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      at com.binance.api.client.impl.BinanceApiServiceGenerator.executeSync(BinanceApiServiceGenerator.java:71)
[яЄ ьрЁ. 05 21:23:53 MSK 2021][INFO] [SUB]      ... 32 more

pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.dman</groupId>
    <artifactId>Arbitrage</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>jar</packaging>

    <repositories>
        <repository>
            <id>jitpack.io</id>
            <url>https://jitpack.io</url>
        </repository>
    </repositories>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>15.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>15.0.1</version>
        </dependency>
        <dependency>
            <groupId>com.github.Shadow326159</groupId>
            <artifactId>binance-java-api</artifactId>
            <version>v1</version>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.6</version>
        </dependency>
        <dependency>
            <groupId>org.web3j</groupId>
            <artifactId>utils</artifactId>
            <version>5.0.0</version>
        </dependency>
        <dependency>
            <groupId>com.github.pengrad</groupId>
            <artifactId>java-telegram-bot-api</artifactId>
            <version>5.0.1</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>11</source>
                    <target>11</target>
                    <encoding>UTF-8</encoding>
                    <compilerArgument>-Xlint:unchecked</compilerArgument>
                </configuration>
            </plugin>

            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.5</version>
                <configuration>
                    <mainClass>org.dman.Main</mainClass>
                </configuration>
            </plugin>

            <plugin>
                <groupId>com.gluonhq</groupId>
                <artifactId>client-maven-plugin</artifactId>
                <version>0.1.36</version>
                <configuration>
                    <target>${client.target}</target>
                    <mainClass>org.dman.Main</mainClass>
                    <reflectionList>
                        <list>org.dman.Controller</list>
                        <list>org.dman.RequestThread</list>
                        <list>com.pengrad.telegrambot.TelegramBot</list>
                        <list>com.pengrad.telegrambot.request.SendMessage</list>
                        <list>com.pengrad.telegrambot.UpdatesListener</list>
                        <list>com.pengrad.telegrambot.model.Message</list>
                        <list>com.pengrad.telegrambot.request.SendMessage</list>
                        <list>com.pengrad.telegrambot.response.SendResponse</list>
                        <list>org.web3j.utils.Convert</list>
                        <list>com.binance.api.client.BinanceApiClientFactory</list>
                        <list>com.binance.api.client.BinanceApiRestClient</list>
                        <list>com.binance.api.client.domain.account.Account</list>

                        <list>javafx.scene.control.MenuButton</list>
                        <list>javafx.scene.control.MenuItem</list>
                        <list>javafx.scene.control.ToggleButton</list>
                        <list>javafx.scene.control.ListView</list>
                        <list>javafx.scene.control.TextArea</list>
                        <list>javafx.scene.image.ImageView</list>
                    </reflectionList>
                    <nativeImageArgs>
                        <nativeImageArg>-H:DynamicProxyConfigurationFiles=${project.basedir}/src/main/resources/org/dman/dynamic-proxies.json</nativeImageArg>
                        <nativeImageArg>--allow-incomplete-classpath</nativeImageArg>
                    </nativeImageArgs>
                </configuration>
            </plugin>
        </plugins>
    </build>

    <profiles>
        <profile>
            <id>desktop</id>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
            <properties>
                <client.target>host</client.target>
            </properties>
        </profile>
        <profile>
            <id>ios</id>
            <properties>
                <client.target>ios</client.target>
            </properties>
        </profile>
        <profile>
            <id>android</id>
            <properties>
                <client.target>android</client.target>
            </properties>
        </profile>
    </profiles>
</project>