什么是与artifactId" oracle"?的maven依赖

时间:2016-06-28 13:48:25

标签: maven pom.xml

我加入了一个稳定多年的项目,并且在过去的4年或5年左右没有看到(或几乎没有)额外的开发项目。 我有依赖关系的构建问题。 我无法弄清楚以下依赖关系是什么。 这是用多个pom.xml编写的。

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>oracle</artifactId>
</dependency>

还有父母pom。

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>oracle</artifactId>
    <version>10.2.0.2.0</version>
</dependency>

此依赖关系引用了什么以及它做了什么?

我试图查找此依赖项,但实际上所有结果都引用了jdbc。 这跟JDBC一样吗? 对于目前尚未使用的东西,这是旧名称吗?

是否与此ojdbc14依赖项相同?

<!-- https://mvnrepository.com/artifact/com.oracle/ojdbc14 -->
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc14</artifactId>
    <version>10.2.0.2.0</version>
</dependency>

1 个答案:

答案 0 :(得分:2)

假设您的旧编码员遵循适当的标准,第一个标准在dependencyManagement下定义。让我们假设您有一个父模块和一些子模块,这些子模块共享一些依赖项。因此,您可以在父pom中定义这些公共依赖项,以便确保在项目中保持一致性。可以在父pom中定义诸如版本,Java版本和其他配置之类的内容。

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>oracle</artifactId>
            <version>10.2.0.2.0</version>
        </dependency>
    <dependencies>
<dependencyManagement>

现在您已经在父pom中定义了配置,只要您想在子模块中使用它,就可以指定groupIdartifactId。关键是,仅仅因为您在dependencyManagement下的父pom中定义,并不意味着它将在子模块中可用,除非您手动指定要使用该依赖项。

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>oracle</artifactId>
</dependency>

在这里,您省略了版本信息。子模块将查找该信息的父级并使用它。措辞本身表明,在父母中你使用dependencyManagement。即它只是管理依赖项。在子模块中,您可以在dependencies下使用它们。