`

Maven 找不到oracle jdbc 驱动,谁之过?

阅读更多

Maven 找不到oracle jdbc  驱动,谁之过?

发表于 2010-03-17

整理于 2012-04-03

整理自source: http://stackoverflow.com/questions/1074869/find-jdbc-driver-in-maven-repository

 

问: 我想把oracle的jdbc驱动加入到我的项目中(运行时),比如ojdbc14。

我的POM文件如下,

 


<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
</dependency>

 

不过这显然是无效的,因为 oracle 的jdbc driver不在Maven的central repository中。

我的两个问题是:

1) 我如何找到一个包含此 artifact 的repository?

2)  我如何添加,maven才能使用?

 

答:

1), 不幸的是由于二进制许可 binary license的限制, 没有任何一个公共的repository可以包含oracle 的jdbc driver。我们的很多依赖都面对同样的问题,这不是Maven的错。即使你偶然发现了某个公共的repository可以包含这个JAR,那么那一定是违法的。

 

2),由于二进制许可 binary license的限制,一些 JAR不能加入到 Maven Central repo 中,比如:

Oracle JDBC driver classes for use with JDK1.4的POM 如下:

 

http://repo2.maven.org/maven2/com/oracle/ojdbc14/10.2.0.3.0/ojdbc14-10.2.0.3.0.pom

 

 

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
<name>Oracle JDBC Driver</name>
<description>Oracle JDBC driver classes for use with JDK1.4</description>
<url>
http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html
</url>
<licenses>
<license>
<name>
Oracle Technology Network Development and Distribution License Terms
</name>
<url>
http://www.oracle.com/technology/software/htdocs/distlic.html
</url>
</license>
</licenses>
<organization>
<name>Oracle Corporation</name>
<url>http://www.oracle.com</url>
</organization>
</project>
 

 

因此, 下载这个POM, 打开它, 你就可以找到下载 JAR的URL。下载之后, 你就可以用下面的maven命令添加到你本地的repository 中。也许你需要修改ojdbc.jar 路径。

 

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 \
     -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc.jar

 

 

 如果你的开发团队有自己的私服, 可参照这个指南( this guide http://maven.apache.org/guides/mini/guide-central-repository-upload.html)上传JAR。

 

 

主要原文见下:

Q:

I want to add the oracle jdbc driver to my project as dependency (runtime scope) - ojdbc14. In MVN repository site the dependency to put in the POM is:


<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.3.0</version>
</dependency>

of course this does't work as it is not in the central repository used by maven. 2 questions:

1) How do I find a repository (if any) that contains this artifact?

2) How do I add it so that Maven will use it?

Thanks!

 

A:

1) How do I find a repository (if any) that contains this artifact?

Unfortunately due the binary license there is no public repository with the Oracle Driver JAR. This happens with many dependencies but is not Maven's fault. If you happen to find a public repository containing the JAR you can be sure that is illegal.

2) How do I add it so that Maven will use it?

Some JARs that can't be added due to license reasons have a pom entry in the Maven Central repo . Just check it out, it contains the URL to download the file which in this case is http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html . Once you've downloaded the JAR just add it to your computer repository with:

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc14 \
     -Dversion=10.2.0.3.0 -Dpackaging=jar -Dfile=ojdbc.jar

If your team has a local Maven repository this guide might be helpful to upload the JAR there

分享到:
评论

相关推荐

    解决maven仓库没有oracle jdbc驱动的问题

    刚还以为是网络问题,重新下载了很多次,都提示maven库里找不到相关jar文件。网上一查,原来是这个驱动包是需要Oracle官方授权才能被我们下载。没办法,只能找来一个ojdbc14的10.2.0.1.0包,通过下面的命令,让maven...

    oracle12 jdbc驱动包

    1. 将相应的JDBC驱动文件(如`ojdbc8.jar`)添加到项目的类路径中,这可以通过IDE的配置或构建工具(如Maven、Gradle)的依赖管理实现。 2. 在Java代码中,使用`Class.forName()`方法加载驱动,例如:`Class.for...

    oracle jdbc驱动jar

    在描述中提到,当从maven官方仓库找不到Oracle JDBC驱动jar时,可以从其他来源获取,比如直接下载ojdbc14.jar。这是因为Oracle有时会移除旧版本的驱动,或者某些特定版本可能未在Maven中央仓库中列出。开发者可以...

    eclipse下maven安装oracle的jdbc驱动

    eclipse中maven 下载不到oracle数据库驱动 ojdbc5 ojdbc6 需要我们手动将驱动安装到本地仓库 1.找到安装命令的位置在项目的目录下 mvnw就是我们要用到的安装工具 2.下载 驱动 3.安装驱动 把需要安装的驱动放到第一步...

    Java之——在Maven仓库中添加Oracle JDBC驱动

    由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库。 一.下载Oracle JDBC Driver 1.通过Oracle官方网站下载相应版本:...

    oracle jdbc驱动包

    Oracle JDBC驱动包是连接Java应用程序与Oracle数据库的关键组件。它提供了标准的Java Database Connectivity (JDBC)接口,使得Java开发者可以方便地在Oracle数据库上执行SQL语句和处理结果。这个压缩包包含了两个...

    Maven管理Oracle驱动包

    这是因为Oracle的授权政策,Maven官方中央仓库并不直接提供Oracle JDBC驱动程序。为了在Maven项目中使用Oracle JDBC驱动,需要用户手动下载JDBC驱动包,并将其安装到本地Maven仓库中。以下是关于如何使用Maven管理...

    jdbc oracle驱动以及如何添加到maven

    本篇将详细介绍Oracle JDBC驱动以及如何将其添加到Maven项目中。 首先,Oracle JDBC驱动分为两种: Thin Driver 和 Thick Driver。Thin Driver 是纯Java实现,无需Oracle客户端即可直接连接数据库,适用于网络环境...

    Oracle JDBC驱动ojdbc6-11.2.0.2、ojdbc6-11.2.0.4

    Oracle JDBC驱动是Oracle公司提供的特定于Oracle数据库的JDBC实现,它使得Java开发者能够方便地连接到Oracle数据库并执行SQL语句。 ojdbc6-11.2.0.2和ojdbc6-11.2.0.4都是Oracle JDBC驱动的不同版本,主要区别在于...

    oraclejdbc驱动

    eclipse中maven 下载不到oracle数据库驱动 ojdbc5 ojdbc6 需要我们手动将驱动安装到本地仓库 https://blog.csdn.net/az44yao/article/details/87773714 参考地址: ...

    ojdbc6_oracle11gR2jdbc驱动_zip_

    这种驱动通过网络连接到Oracle数据库服务器,它的工作方式是直接将SQL语句转换为网络协议,然后发送到数据库进行执行,再将结果返回给应用程序。 使用ojdbc6.jar驱动,开发者可以执行以下主要操作: 1. 数据库连接...

    JDBC驱动包(oracle和mysql)

    Oracle JDBC驱动,也称为Oracle Thin Driver或ojdbc,是Oracle公司提供的用于连接Java应用程序到Oracle数据库的驱动程序。这个驱动包通常包含`ojdbc.jar`文件,其中包含了必要的类和方法,使得Java应用能够通过JDBC...

    oracle19c驱动jar包.zip

    ojdbc10.jar是Oracle JDBC驱动的一个版本,专门为JDK 10及更高版本设计。它包含了对Oracle 19c数据库的新特性和优化的支持,如新的SQL语法、性能改进以及对Java新特性的兼容。使用ojdbc10.jar时,确保你的开发环境...

    oracle11g驱动包

    在Java编程环境中,如果你需要连接到Oracle 11g数据库,就需要这个驱动包。Oracle 11g JDBC驱动提供了高效、安全且功能丰富的接口,使得开发人员能够轻松地执行SQL查询、事务管理和数据操作。 Oracle 11g驱动包主要...

    maven中oracle jar包

    本主题将深入探讨如何在Maven项目中添加Oracle JDBC驱动,以便正确地连接和操作Oracle数据库。 首先,Oracle JDBC驱动通常被称为`ojdbc`,它允许Java应用程序通过JDBC接口与Oracle数据库进行通信。在Maven项目中,...

    Oracle19c 驱动jar包

    - 在Java应用中,配置Oracle JDBC驱动通常涉及到设置数据源或者直接创建`java.sql.DriverManager`的实例。这需要在应用的配置文件(如application.properties或web.xml)中指定数据库连接的URL、用户名、密码以及...

    oracle的JDBC驱动程序

    Oracle的JDBC驱动程序是Java开发人员用于与Oracle数据库交互的重要工具。JDBC(Java Database Connectivity)是Java语言中的一套标准API,它允许Java应用程序通过编写Java代码来访问各种类型的数据库。Oracle JDBC...

    Maven中央仓库正式成为Oracle官方JDBC驱动程序组件分发中心(推荐)

    一位甲骨文的工程师发布博客:在Maven中央仓库中,现在不单单最新版本的Oracle JDBC驱动程序,而且还可以找到以往所有的Oracle JDBC驱动发行版,包括19.6.0.0、19.3.0.0、18.3.0.0、12.2.0.1和11.2.0.4。Maven中央...

    Oracle_JDBC_ALL.zip

    由于Oracle的JDBC驱动并非开源且需要授权,因此不在Maven中央仓库中提供,开发者需要自行下载并添加到项目的类路径或Maven的依赖管理中。 此压缩包中的文件是Oracle的不同版本和类型的JDBC驱动: 1. ojdbc6dms_g....

    mysql,oracle,sqlserver数据库jdbc驱动jar包

    总的来说,MySQL、Oracle和SQL Server的JDBC驱动jar包是Java开发人员连接到这些数据库不可或缺的部分。它们简化了数据库操作,使得跨平台的数据库应用开发成为可能。了解如何选择合适的驱动版本,以及如何在项目中...

Global site tag (gtag.js) - Google Analytics