缺少工件 com.oracle:ojdbc6:jar:11.2.0.3

Posted

技术标签:

【中文标题】缺少工件 com.oracle:ojdbc6:jar:11.2.0.3【英文标题】:Missing artifact com.oracle:ojdbc6:jar:11.2.0.3 【发布时间】:2017-05-29 09:07:51 【问题描述】:

我是 Maven 项目的初学者。在我的项目中,我收到错误Missing artifact com.oracle:ojdbc6:jar:11.2.0.3,即使 jar 存在于我的存储库中的正确文件夹中。请问有人可以帮忙吗?

【问题讨论】:

请分享您的pom.xml 【参考方案1】:

不幸的是,由于二进制许可证,没有带有 Oracle Driver JAR 的公共存储库,因此您不能只将其添加到您的 pom 文件中。

你必须手动添加这个jar:

首先,您必须从here 下载ojdbc6.jar 点击页面中间的jar (2.6 MB)

然后将ojdbc6.jar 放入项目的某个文件夹中(我们使用lib)。

然后你必须在pom.xmldependencies 部分添加这个:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc</artifactId>
    <version>11.2.0</version>
    <scope>system</scope>
    <systemPath>$basedir/lib/ojdbc6.jar</systemPath>
</dependency>

另一种选择是将此 jar 安装在本地 maven 存储库中:

mvn install:install-file -Dfile=path/to/ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

然后你就可以像这样引用这个依赖了:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0</version>
</dependency>

你必须选择最适合你的。

【讨论】:

或者,如果您在公司中运行本地 nexus 安装,您可以使用“mvn deploy”将工件部署到它,以便团队中的每个人都可以使用该工件。不过,我不知道 oracle 许可证是否允许这样做。【参考方案2】:

从 .m2 存储库中完全删除 ojdbc6 文件夹,然后 maven 更新 enclipse 中的项目,解决了我的问题

【讨论】:

.m2 存储库在哪里,我没有在本地安装 maven。我在 Eclipse 上有它 给你@JunaidShirwani C:/Users/&lt;yourMachineUsername&gt;/.m2 文件夹 这个答案现在已经过时了,如上***.com/a/44238897/2940265【参考方案3】:
<repositories>
        <repository>
            <id>spring-releases</id>
            <url>https://repo.spring.io/libs-release</url>
        </repository>
    </repositories>

如果你使用spring boot应该可以解决这个问题

【讨论】:

这不会解决问题,因为现在 Oracle 将它们的依赖关系从公共存储库中删除到了 oracle 一。除非您手动操作,否则您必须遵循他们的指导方针【参考方案4】:

一旦你遇到问题。检查您的 Maven 用户设置路径。这将是一条类似的路径:

C:\Users\ 用户名\.m2\repository

打开该位置并转到 oracle\ojdbc6\11.2.0.3 文件夹并将 .jar 放在该位置。返回到 eclipse 执行 maven 更新,您的问题就会消失。

【讨论】:

以上是关于缺少工件 com.oracle:ojdbc6:jar:11.2.0.3的主要内容,如果未能解决你的问题,请参考以下文章

JPA 容器地址簿缺少工件

SBT AutoPlugin 缺少添加的工件

Maven:缺少工件presto

maven 安装文件“缺少工件”

具有依赖关系的 pom.xml 中的错误(缺少工件...)

Android Build 因工件而失败 - 缺少依赖项