这是我第一次使用Maven,并尝试包括对Java项目的依赖。

我已经尝试过按照网上的说明进行操作,但似乎无法获得理想的结果,希望能得到适合5岁儿童的解释。

Following the setup instructions,我将以下内容添加到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>


然后,我download the latest assembly zip file from Maven Central。但是我应该从这里做什么?我应该如何处理zip文件的内容?我不知道从这里开始可以采取什么步骤来开始使用该库,因此不胜感激。

最佳答案

dependenciesManagement标记允许合并和集中声明的对象中定义的基础依赖项的版本。
需要在dependencies之外的单独的dependencyManagement标记中声明项目特定的依赖项。

下载依赖关系归档文件的步骤仅在需要手动将必需的依赖关系/工件添加到程序类路径的情况下使用。当您希望通过构建工具(例如Maven或Gradle)管理依赖项时,无需这样做。

我做了一些小研究,看来com.google.cloud:libraries-bom不能管理google-oauth-client工件。检出当前导入的libraries-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 Wiki页面未使用涵盖这些Bom管理的依赖项中的更改的信息进行更新。

关于java - 如何通过Maven将Google的OAuth客户端导入IntelliJ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60386076/

10-13 09:35