Как импортировать клиент OAuth от Google в IntelliJ через Maven? - PullRequest
0 голосов
/ 25 февраля 2020

Я впервые работаю с Maven и пытаюсь включить зависимость от проекта Java.

Я пытался следовать инструкциям в Интернете, но не могу получить желаемый результат, и надеюсь, для объяснения, подходящего для 5-летнего.

Следуя инструкциям по настройке , я добавляю следующее в свой pom. xml:

    <dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>libraries-bom</artifactId>
            <version>2.2.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>

        <dependency>
            <groupId>com.google.oauth-client</groupId>
            <artifactId>google-oauth-client</artifactId>
        </dependency>
    </dependencies>
</dependencyManagement>

Затем я загружаю последний сборочный zip-файл из Maven Central . Но что я должен делать отсюда? Что я должен делать с содержимым zip-файла? Я не знаю, какие шаги предпринять, чтобы начать работать с библиотекой, и буду признателен за любую помощь.

1 Ответ

1 голос
/ 25 февраля 2020

Тег dependenciesManagement позволяет консолидировать и централизовать версию базовых зависимостей, определенных внутри объявленной.
Специфическая зависимость проекта c должна быть объявлена ​​в отдельном теге dependencies вне dependencyManagement.

Шаг загрузки архива зависимостей предназначен только для случая, когда вам необходимо вручную добавить необходимые зависимости / артефакты в путь к классам программы. Нет необходимости делать это, когда вы хотите, чтобы ваши зависимости управлялись инструментом сборки (например, Maven или Gradle).

Я провел небольшое исследование, и похоже, что com.google.cloud:libraries-bom не управляет артефактом google-oauth-client. Проверьте раздел управляемых зависимостей library-bom , который вы в настоящее время импортируете.

Последней версией google-oauth-client является 1.30.5, и она управляется другой зависимостью bom (не управляется libraries-bom).
Я обнаружил, что последняя версия google-oauth-client управляемый собственной зависимостью BOM. Таким образом, вы можете импортировать его в свой проект Maven, добавив что-то похожее на:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.google.oauth-client</groupId>
            <artifactId>google-oauth-client-bom</artifactId>
            <version>1.30.5</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
<!-- this has the different libraries than the above one -->
        <dependency>
            <groupId>com.google.cloud</groupId>
            <artifactId>libraries-bom</artifactId>
            <version>4.1.1</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>com.google.oauth-client</groupId>
        <artifactId>google-oauth-client</artifactId>
    </dependency>
</dependencies>

Я не знаю происхождение этой проблемы, но больше всего в том, что Страница вики-сайта github, которую вы прочитали, не была обновлена ​​информацией, касающейся изменений в этих управляемых зависимостях.

...