在Maven仓库中查找Oracle JDBC驱动程序

309

我想将oracle jdbc驱动程序添加到我的项目依赖项(运行时范围)- ojdbc14。 在MVNrepository网站上,放置在POM中的依赖关系如下:

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

当然,这不起作用,因为它不在Maven使用的中央仓库中。 2个问题:

  1. 我该如何找到包含该构件的存储库(如果有)?

  2. 我该如何将其添加以便Maven使用它?


2
http://maven-repository.com/artifact/com.oracle/ojdbc14/ - Vadzim
1
ojdbc6在公共Maven仓库中:https://dev59.com/fmkw5IYBdhLWcg3wbqAS - Vadzim
21个回答

5

2

4
好消息,但安全设置过于复杂。像1999年那样,在“lib”文件夹中下载JAR包会更容易。 - Svetlin Nakov
它可以工作!安全设置并不复杂,文档也很完善,你只需要做一次。当然,你必须在某个地方硬编码你的(加密)密码是一件痛苦的事情,我也质疑Oracle决定“保护”他们的“公共”存储库的访问,从开发者的角度来看,这完全没有意义。 - Pierluigi Vernetto

1
在我的情况下,我添加了以下版本依赖(10.2.0.4),它对我有效。在添加版本 10.2.0.3.0 之后,由于存储库路径中没有可用的.jar文件,它无法工作。
<groupId>com.oracle</groupId>
<artifactId>ojdbc14</artifactId>
<version>10.2.0.4</version>

0
我以LGPLv2的协议发布开源软件,即使在与Oracle进行数次电子邮件交流之后,他们仍不清楚我是否被允许在我的发行版中附带他们的二进制JDBC驱动程序。问题与我的许可证与其OTN条款是否兼容有关,因此他们建议我不得在发行版中附带该驱动程序。这可能与以下部分有关:
“(b)将程序与您开发的应用程序一起分发给您的客户,前提是每个这样的许可证持有人同意与本协议的条款一致的许可证条款”
因此,即使您设法在独家/本地Maven存储库中合法地发布驱动程序,仍存在对您可以使用该工件的限制。似乎荒谬的是,即使我在完整的OTN许可文件中以二进制形式附带他们的驱动程序,我仍然无法使用它,必须强制我的用户在使用软件之前手动下载Oracle驱动程序并将其放入我的库路径中。

-1

您可以在Github上找到一个简单的示例项目,用于在Maven项目中使用Oracle JDBC驱动程序这里

您可以找到所有关于持续集成的说明+一个示例,并在Travis-CI上运行。

演示

pom.xml

<properties>
    <oracle.driver.version>12.2.0.1</oracle.driver.version>
</properties>

<repositories>
    <repository>
        <id>maven.oracle.com</id>
        <releases>
            <enabled>true</enabled>
        </releases>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
        <url>https://maven.oracle.com</url>
        <layout>default</layout>
    </repository>
</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>maven.oracle.com</id>
        <url>https://maven.oracle.com</url>
    </pluginRepository>
</pluginRepositories>

<dependencies>
    <dependency>
        <groupId>com.oracle.jdbc</groupId>
        <artifactId>ojdbc8</artifactId>
        <version>${oracle.driver.version}</version>
    </dependency>
</dependencies>

mvnsettings.xml

<settings>
    <servers>
        <server>
            <id>maven.oracle.com</id>
            <username>${OTN_USERNAME}</username>
            <password>${OTN_PASSWORD}</password>
            <configuration>
                <basicAuthScope>
                    <host>ANY</host>
                    <port>ANY</port>
                    <realm>OAM 11g</realm>
                </basicAuthScope>
                <httpConfiguration>
                    <all>
                        <params>
                            <property>
                                <name>http.protocol.allow-circular-redirects</name>
                                <value>%b,true</value>
                            </property>
                        </params>
                    </all>
                </httpConfiguration>
            </configuration>
        </server>
    </servers>
</settings>

如何在本地环境中使用

在 test/mvnsettings.xml 文件中,将 ${OTN_USERNAME} 更改为您的 Oracle 登录名

在 test/mvnsettings.xml 文件中,将 ${OTN_PASSWORD} 更改为您的 Oracle 密码

mvn clean install --settings test/mvnsettings.xml

2
您的个人资料显示您与您链接的网站有关联。在Stack Exchange/Stack Overflow上,未披露自己是产品或网站所有者的情况下,将其链接到您所属的东西被视为垃圾邮件。请参阅:什么是“良好”的自我推广?有关自我推广的一些提示和建议Stack Overflow中“垃圾邮件”的确切定义是什么?以及什么会被认为是垃圾邮件 - Samuel Liew
Samuel(网站管理员)正在使用预设评论来警告您关于自我推广的问题,这并没有什么不对。 - Jean-François Fabre
@Jean-FrançoisFabre,这不是自我推广,这是我专门为回答问题而制作的示例项目。在很多答案中,都会提供链接到一个完整的JavaScript / HTML / CSS示例,网址为https://codepen.io - Stéphane GRILLON
好的,那么请阅读Samuel的消息,你会发现你只需要公开你的隶属关系,然后就可以了。 - Jean-François Fabre

-1
如果您正在使用Netbeans,请转到“依赖项”并手动安装工件。 找到您下载的.jar文件,然后完成操作。 清理构建将解决任何问题。

-1

-1

请注意,这个 pom http://dist.codehaus.org/mule/dependencies/maven2/oracle/ojdbc14/10.2.0.2/ojdbc14-10.2.0.2.pom 没有许可证定义,所以我不认为它是由该组件所有者上传的。这个答案可以让事情正常运行,但不幸的是,由于此许可证条款违规,会给您带来麻烦。 - taringamberini

-1
请尝试以下内容:
<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>19.3.0.0</version>
</dependency>

-2

关于依赖

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.2</version>
</dependency>

尝试

<repository>
    <id>mvnrepository</id>
    <url>http://nexus.saas.hand-china.com/content/repositories/rdc</url>
</repository>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接