Java Maven:OracleJDBC驱动程序

Java Maven:OracleJDBC驱动程序,java,maven,Java,Maven,我知道这个问题被问了很多,但没有一个解决方案对我有效。我有一个maven依赖项来为我的项目检索OJDBC jar文件。依赖项如下所示: <dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </

我知道这个问题被问了很多,但没有一个解决方案对我有效。我有一个maven依赖项来为我的项目检索OJDBC jar文件。依赖项如下所示:

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

有人能帮忙吗。这在我所有的项目中都是一样的

实际上,由于一些二进制许可证,Oracle驱动程序似乎不在maven存储库中

简而言之,您必须手动下载jar文件并将其安装到本地maven存储库中


请参阅此答案:

由于二进制许可证,Oracle驱动程序不在maven中央存储库中。您可以找到一些托管了这个jar的公共repo可供使用,但根据许可证,这是非法的

它显然是在查找jar文件并下载它,就像它在我的.m2文件夹中一样

那个罐子为什么会在那个里(或者至少你们认为它在那个里)是有原因的

  • 每当maven找不到某个jar时(无论出于何种原因),它都会在.m2/中生成文件夹的maven2层次结构,但如果仔细观察,您会发现它并不完全是一个jar,但它的扩展名类似于“someJarName.1.1.jar.lastUpdated”。这不是一个jar,这只是maven用来跟踪需要重新下载和重新检查的jar的约定
  • 第二种可能性是jar必须是手动插入到存储库中的(通过mvn
    install:install file
    命令),这就是它存在的原因。当然,我假设您除了默认的mvn central之外没有配置任何其他存储库
  • 如果您在本地m2 repo中有jar文件(我建议您通过扩展它来验证,确保其所有包内容都是有序的,并且jar的大小也是正确的)然后您可能需要告诉Eclipse再次查找jar。要执行此操作,请转到窗口->首选项->Maven->用户设置->点击重新索引按钮并等待几分钟。然后看看这是否有助于解决您的问题

    编辑


    另一个可能的解决方案是使用
    系统
    作用域并指定本地机器上jar的路径,尽管我强烈反对这样做。

    您是否只有一个pom.xml?可能是某个输入错误?请尝试mvn clean package-U。我想您必须显示pom文件和您正在使用的maven命令的一些调试输出nning.Hm,顺便说一句。你真的确定它被下载了吗?通常你必须以某种方式手动提供这种依赖关系。我为每个项目都有一个pom.xml。在右键单击project->Mavenit下没有选项,当我运行任何特定的maven命令时它不会发生,它总是在那里。是的,jar文件被下载,它在.m2->repository->com->oracle->ojdbc6->11.2.0.3->ojdbc6-11.2.0.3.jar中。它在公司的repo中,正在从那里下载。如果没有下载它,我会理解给出这个答案,但它显然正在查找jar文件并按.m2文件夹中的方式下载。OK,很高兴看到你解决了你的问题假设!jar文件的大小是2651KB,并且最后没有更新的扩展名。它只是.jar,我已经做了重新索引,但没有任何效果。我如何“扩展”jar?您可以通过任何zip存档读取器(winzip,winrar)进行扩展好的,那么我要将其与什么进行比较呢?将包内容与直接从Oracle站点下载的jar进行比较。完成此操作后,两个文件看起来完全相同。相同的类和大小
    Missing artifact com.oracle:ojdbc6:jar:11.2.0.3