При подключении java к Google Big Query я получаю исключение в потоке «main» java .lang.NoClassDefFoundError: com / google / api / client / json / JsonFactory - PullRequest
0 голосов
/ 29 мая 2020

У меня есть программа Java, которую я хочу использовать для выполнения запросов к большому запросу Google.

Я получаю эту ошибку при запуске своей программы:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/api/client/json/JsonFactory
    at com.simba.googlebigquery.googlebigquery.core.BQConnection.connect(Unknown Source)
    at com.simba.googlebigquery.jdbc.common.BaseConnectionFactory.doConnect(Unknown Source)
    at com.simba.googlebigquery.jdbc.common.AbstractDriver.connect(Unknown Source)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:270)
    at missioncontrol.main(missioncontrol.java:60)
Caused by: java.lang.ClassNotFoundException: com.google.api.client.json.JsonFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 6 more

У меня есть скачал драйвер Simba gbq jdb c. Я настроил свои полномочия. Моя строка подключения выглядит так:

jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=redacted;OAuthType=0;OAuthServiceAcctEmail=;redaacted@redacted.iam.gserviceaccount.com;OAuthPvtKeyPath=/home/redacted/redacted/redacted.p12;

My CLASSPATH Первоначально выглядело так: /opt/google/GoogleBigQueryJDBC42.jar

Но я добавил кучу файлов jar в попытке чтобы решить эту проблему, теперь это выглядит так:

/google-http-client-1.29.0.jar:/opt/google/google-http-client-jackson2-1.28.0.jar:/opt/google/jackson-annotations-2.9.0.jar:/opt/google/jackson-core-2.9.8.jar:/opt/google/jackson-databind-2.9.8.jar:/opt/google/GoogleBigQueryJDBC42.jar

Это моя среда:

$uname -a
Linux ip-172-31-59-210.ec2.internal 4.14.123-111.109.amzn2.x86_64 #1 SMP Mon Jun 10 19:37:57 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

$java -version
openjdk version "1.8.0_222-ea"
OpenJDK Runtime Environment (build 1.8.0_222-ea-b03)
OpenJDK 64-Bit Server VM (build 25.222-b03, mixed mode)

Есть мысли о том, чего мне не хватает?

Спасибо , Мэри

1 Ответ

1 голос
/ 29 мая 2020

Вероятно, ошибка связана с тем, что родительский класс JsonFactory.jar не включен в ваш путь к классам. Вместо того, чтобы перечислять каждый .jar индивидуально в пути к классам, попробуйте вместо этого использовать '/ opt / google / *'.

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