Ошибка при чтении таблицы bq в Java eclipse - как получить файл jar для пакета com / google / cloud / http / HttpTransportOptions? - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь прочитать образец таблицы от bq до java eclipse (предварительно). Я застрял на ошибке, в которой говорится, что класс не найден - HttpTransportOptions. Я знаю, что мне не хватает некоторых зависимостей. Какой jar-файл подходит для этого пакета? Код ниже:

    public class sample_bq_java {
          public static void main(String... args) throws Exception {
            BigQuery bigquery = BigQueryOptions.newBuilder().setProjectId("project_id")
                    .setCredentials(
                            ServiceAccountCredentials.fromStream(new FileInputStream("C:\\Users\\3401770\\Downloads\\key.json"))
                    ).build().getService();
            String datasetName = "hacker_news.comments";
    
            // Fetches the dataset
    
            Dataset dataset = bigquery.getDataset(datasetName);
    
    
            System.out.printf("Dataset %s fetched.%n", dataset.getDatasetId().getDataset());
          }
    }

Ошибка:

Exception in thread "main" java.lang.NoClassDefFoundError: com/google/cloud/http/HttpTransportOptions
    at com.google.cloud.bigquery.BigQueryOptions.getDefaultHttpTransportOptions(BigQueryOptions.java:114)
    at com.google.cloud.bigquery.BigQueryOptions$BigQueryDefaults.getDefaultTransportOptions(BigQueryOptions.java:109)
    at com.google.cloud.ServiceOptions.<init>(ServiceOptions.java:305)
    at com.google.cloud.bigquery.BigQueryOptions.<init>(BigQueryOptions.java:91)
    at com.google.cloud.bigquery.BigQueryOptions.<init>(BigQueryOptions.java:30)
    at com.google.cloud.bigquery.BigQueryOptions$Builder.build(BigQueryOptions.java:86)
    at frcst.apps.stof.sample_bq_java.main(sample_bq_java.java:47)
Caused by: java.lang.ClassNotFoundException: com.google.cloud.http.HttpTransportOptions
    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)
    ... 7 more

Любая помощь или предложение приветствуются.

1 Ответ

0 голосов
/ 06 августа 2020

Я предполагаю, что HttpTransportOptions class является частью google-cloud-core-http пакета для реализации HTTP-модуля GCP Core.

Просто убедитесь, что вы включить google-cloud-core-http-1.93.x.jar в проект или добавить зависимость в pom.xml файл, получив пакет из конкретного репозитория:

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-core-http</artifactId>
    <version>1.93.7</version>
</dependency>
...