java .lang.NoSuchMethodError: com.google.gson.Gson.newBuilder () Lcom / google / gson / GsonBuilder; - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь использовать Unirest в своей программе, но я получаю эту ошибку java.lang.NoSuchMethodError: com.google.gson.Gson.newBuilder()Lcom/google/gson/GsonBuilder;

Я пытался использовать разные версии Gson Maven, но я все еще продолжаю получать этот seror

Эдид добавил мой pom. xml, я попытался удалить мой .m2, но у меня все еще есть эта проблема

    <dependencies>
        <!-- https://mvnrepository.com/artifact/com.konghq/unirest-java -->
        <dependency>
            <groupId>com.konghq</groupId>
            <artifactId>unirest-java</artifactId>
            <version>3.7.00</version>
            <classifier>standalone</classifier>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-core</artifactId>
            <version>[4.0,)</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.spigotmc</groupId>
            <artifactId>Spigot8</artifactId>
            <version>1.8</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/libs/spigot-1.8.8-R0.1-SNAPSHOT-latest.jar</systemPath>
        </dependency>
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>LATEST</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.8</version>
            <scope>compile</scope>
        </dependency>
    </dependencies>```

Ответы [ 3 ]

0 голосов
/ 03 апреля 2020

Это похоже на проблему с зависимостями.

Пожалуйста, убедитесь, что ваши зависимости правильные. Unirest 3.7.00 использует Gson 2.8.6

https://mvnrepository.com/artifact/com.konghq/unirest-java/3.7.00

Кроме того, если вы не используете Gson отдельно, вам не нужно его указывать. Просто добавьте зависимость для unirest- java, как описано в репозитории Maven:

<dependency>
    <groupId>com.konghq</groupId>
    <artifactId>unirest-java</artifactId>
    <version>3.7.00</version>
</dependency>
0 голосов
/ 30 апреля 2020

Может быть конфликт между версиями GSON в вашем файле POM и тем, что находится в вашем контейнере (Tomcat / JBoss) et c. Осмотрите банки в WEB-INF / lib. Если есть две разные версии, удалите ту, которая не совпадает с той, которая в настоящее время находится в файле POM вашего проекта maven. У меня была похожая проблема - мой проект использовал gson-2.6.3.jar, но конфликтующий gson-2.1.jar также существовал в WEB-INF / lib. Я удалил gson-2.1.jar, и это решило мою проблему

0 голосов
/ 03 апреля 2020

Эта проблема, возможно, связана с конфликтами в версиях Gson.

Go в вашем хранилище, если вы используете windows:

C: \ Users \ Имя_пользователя.m2 \ репозиторий \ com \ google \ code \ gson

или Ma c: -

/. M2 / repository / com / google / code / gson

Удалите все существующие папки.

Теперь добавьте ниже зависимость maven в свой файл pom:

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.8.6</version>
</dependency>

Перестройте свой проект maven и попробуй запустить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...