我想添加oracle jdbc驱动程序到我的项目作为依赖(运行时范围)- ojdbc14。 在MVNrepository站点中,要放在POM中的依赖项是:

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

当然,这是行不通的,因为它不在maven使用的中央存储库中。 两个问题:

我如何找到包含此工件的存储库(如果有的话)? 如何添加它以便Maven使用它?


当前回答

的依赖关系

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

Try

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

其他回答

我在LGPLv2下发布开源软件,甚至在与Oracle进行了几次电子邮件交谈之后,他们仍然不清楚我是否可以在我的发行版中发布他们的二进制JDBC驱动程序。这个问题涉及到我的执照是否与OTN的条款兼容,所以他们建议我不允许运送司机。大概和这部分有关

(b)将您开发的程序与应用程序一起分发给您的客户,前提是每个此类被许可人同意与本协议条款一致的许可条款

因此,即使您设法将驱动程序合法地发布在您的独占/本地maven存储库中,仍然存在允许您使用该工件的限制。看起来很荒谬,即使我以二进制形式提供了他们的驱动程序以及完整的OTN许可文件,我仍然不能使用它,必须强制我的用户手动下载Oracle驱动程序并在他们可以使用我的软件之前放入我的库路径中。

大家好!最后,我们可以使用甲骨文的官方回购: https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides

下载这个jar并将其放在项目src/lib中。现在可以使用maven安装程序插件了。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-install-plugin</artifactId>
    <version>2.3.1</version>
    <executions>
        <execution>
            <id>install-oracle-jdbc</id>
            <goals>
                <goal>install-file</goal>
            </goals>
            <phase>clean</phase>
            <configuration>
                <groupId>com.oracle</groupId>
                <artifactId>ojdbc6</artifactId>
                <version>11.2.0</version>
                <packaging>jar</packaging>
                <generatePom>true</generatePom>
                <createChecksum>true</createChecksum>
                <file>${project.basedir}/src/lib/ojdbc6.jar</file>
            </configuration>
        </execution>
    </executions>
</plugin>

现在你只需要执行mvn clean一次,oracle库就会安装在你的本地maven存储库中。

到目前为止,还不能使用maven存储库。我使用ivy作为依赖管理工具,但也使用了maven2的ibiblio存储库。这招对艾薇很管用

<dependency org="oracle" name="ojdbc14" rev="10.2.0.2" conf="*->default"/>

Maven2的依赖关系可能是这样的:

<dependency> 
    <groupId>oracle</groupId> 
    <artifactId>ojdbc14</artifactId> 
    <version>10.2.0.2</version> 
</dependency>

注意,我在ivy设置中定义了http://download.java.net/maven/2/和http://mirrors.ibiblio.org/pub/mirrors/maven/mule/dependencies/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]作为maven2的外部回购。

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

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

DEMO

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

在test/mvnsettings.xml文件中修改Oracle密码${OTN_PASSWORD}

mvn clean install --settings test/mvnsettings.xml