Приложение Spring не загружается - PullRequest
0 голосов
/ 20 марта 2020

У меня есть проект весенней загрузки в Spring tool Suite, который подключается к базе данных Google Cloud Spanner. Учетные данные для подключения к Spanner находятся в файле JSON, который я включил в качестве переменной среды в конфигурации запуска.

Когда я запускаю приложение, я получаю следующую ошибку, и приложение завершается.

Failed to instantiate [com.google.cloud.spanner.SpannerOptions]: Factory method 'spannerOptions' threw exception; nested exception is java.lang.NoSuchMethodError: org.json.JSONTokener.<init>(Ljava/io/InputStream;)

У меня есть другой проект, подключающийся к Spanner, и он работает абсолютно нормально. Я использую Java 8

Пожалуйста, помогите мне понять причину этой ошибки.

1 Ответ

1 голос
/ 20 марта 2020

Судя по сообщению об ошибке, кажется, что в вашем дереве зависимостей есть конфликт. Одна или несколько ваших зависимостей полагаются на несовместимую версию org.json.JSONTokener, в которой нет конструктора, который принимает InputStream в качестве параметра.

Одна вещь, которую вы можете попробовать, - сравнить зависимости вашей работы проект и этот. Если вы используете logback в качестве регистратора, вы можете включить упаковка данных , чтобы распечатать используемый файл jar, чтобы вы могли точно знать, какая библиотека вызывает проблему. Зная, какая библиотека вызывает проблему, вы можете обновить версию библиотеки (обратите внимание: иногда она является транзитивной, поэтому вам нужно обновить библиотеку, которая содержит этот проблемный c пакет).

...