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库里找不到相关jar文件。网上一查,原来是这个驱动包是需要Oracle官方授权才能被我们下载。没办法,只能找来一个ojdbc14的10.2.0.1.0包,通过下面的命令,让maven...
1. 将相应的JDBC驱动文件(如`ojdbc8.jar`)添加到项目的类路径中,这可以通过IDE的配置或构建工具(如Maven、Gradle)的依赖管理实现。 2. 在Java代码中,使用`Class.forName()`方法加载驱动,例如:`Class.for...
在描述中提到,当从maven官方仓库找不到Oracle JDBC驱动jar时,可以从其他来源获取,比如直接下载ojdbc14.jar。这是因为Oracle有时会移除旧版本的驱动,或者某些特定版本可能未在Maven中央仓库中列出。开发者可以...
eclipse中maven 下载不到oracle数据库驱动 ojdbc5 ojdbc6 需要我们手动将驱动安装到本地仓库 1.找到安装命令的位置在项目的目录下 mvnw就是我们要用到的安装工具 2.下载 驱动 3.安装驱动 把需要安装的驱动放到第一步...
由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库。 一.下载Oracle JDBC Driver 1.通过Oracle官方网站下载相应版本:...
Oracle JDBC驱动包是连接Java应用程序与Oracle数据库的关键组件。它提供了标准的Java Database Connectivity (JDBC)接口,使得Java开发者可以方便地在Oracle数据库上执行SQL语句和处理结果。这个压缩包包含了两个...
这是因为Oracle的授权政策,Maven官方中央仓库并不直接提供Oracle JDBC驱动程序。为了在Maven项目中使用Oracle JDBC驱动,需要用户手动下载JDBC驱动包,并将其安装到本地Maven仓库中。以下是关于如何使用Maven管理...
本篇将详细介绍Oracle JDBC驱动以及如何将其添加到Maven项目中。 首先,Oracle JDBC驱动分为两种: Thin Driver 和 Thick Driver。Thin Driver 是纯Java实现,无需Oracle客户端即可直接连接数据库,适用于网络环境...
Oracle JDBC驱动是Oracle公司提供的特定于Oracle数据库的JDBC实现,它使得Java开发者能够方便地连接到Oracle数据库并执行SQL语句。 ojdbc6-11.2.0.2和ojdbc6-11.2.0.4都是Oracle JDBC驱动的不同版本,主要区别在于...
eclipse中maven 下载不到oracle数据库驱动 ojdbc5 ojdbc6 需要我们手动将驱动安装到本地仓库 https://blog.csdn.net/az44yao/article/details/87773714 参考地址: ...
这种驱动通过网络连接到Oracle数据库服务器,它的工作方式是直接将SQL语句转换为网络协议,然后发送到数据库进行执行,再将结果返回给应用程序。 使用ojdbc6.jar驱动,开发者可以执行以下主要操作: 1. 数据库连接...
Oracle JDBC驱动,也称为Oracle Thin Driver或ojdbc,是Oracle公司提供的用于连接Java应用程序到Oracle数据库的驱动程序。这个驱动包通常包含`ojdbc.jar`文件,其中包含了必要的类和方法,使得Java应用能够通过JDBC...
ojdbc10.jar是Oracle JDBC驱动的一个版本,专门为JDK 10及更高版本设计。它包含了对Oracle 19c数据库的新特性和优化的支持,如新的SQL语法、性能改进以及对Java新特性的兼容。使用ojdbc10.jar时,确保你的开发环境...
在Java编程环境中,如果你需要连接到Oracle 11g数据库,就需要这个驱动包。Oracle 11g JDBC驱动提供了高效、安全且功能丰富的接口,使得开发人员能够轻松地执行SQL查询、事务管理和数据操作。 Oracle 11g驱动包主要...
本主题将深入探讨如何在Maven项目中添加Oracle JDBC驱动,以便正确地连接和操作Oracle数据库。 首先,Oracle JDBC驱动通常被称为`ojdbc`,它允许Java应用程序通过JDBC接口与Oracle数据库进行通信。在Maven项目中,...
- 在Java应用中,配置Oracle JDBC驱动通常涉及到设置数据源或者直接创建`java.sql.DriverManager`的实例。这需要在应用的配置文件(如application.properties或web.xml)中指定数据库连接的URL、用户名、密码以及...
Oracle的JDBC驱动程序是Java开发人员用于与Oracle数据库交互的重要工具。JDBC(Java Database Connectivity)是Java语言中的一套标准API,它允许Java应用程序通过编写Java代码来访问各种类型的数据库。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驱动并非开源且需要授权,因此不在Maven中央仓库中提供,开发者需要自行下载并添加到项目的类路径或Maven的依赖管理中。 此压缩包中的文件是Oracle的不同版本和类型的JDBC驱动: 1. ojdbc6dms_g....
总的来说,MySQL、Oracle和SQL Server的JDBC驱动jar包是Java开发人员连接到这些数据库不可或缺的部分。它们简化了数据库操作,使得跨平台的数据库应用开发成为可能。了解如何选择合适的驱动版本,以及如何在项目中...