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

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

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

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

  • 如何找到包含此工件的存储库(如果有)?

  • 我如何添加它以便Maven使用它?


  • 如何找到包含此工件的存储库(如果有)?

    不幸的是,由于二进制许可证,Oracle驱动程序JAR没有公共存储库。 这发生在许多依赖项上,但不是Maven的错。 如果您碰巧找到包含JAR的公共存储库,则可以确定这是非法的。

    我如何添加它以便Maven使用它?

    有些JAR由于授权原因无法添加,因此在Maven中心回购中有一个POM条目。 只需检查它,它包含供应商的首选Maven信息:

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

    ...和下​​载文件的URL,在这种情况下是http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/index.html。

    一旦你下载了JAR,只需将它添加到你的计算机存储库中(注意我从POM中取出了groupId,artifactId和版本):

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

    生成POM的最后一个参数将使您免受pom.xml警告的攻击

    如果您的团队拥有本地Maven存储库,那么本指南可能有助于在此处上传JAR。


    无论出于何种原因,我无法获得上述任何解决方案。 (仍然不能)。

    我所做的是将jar包含在我的项目中(blech),然后为它创建一个“系统”依赖项,指示jar的路径。 这可能不是正确的做法,但它确实有效。 它消除了团队中的其他开发人员(或设置构建服务器的人员)将其放入本地存储库的需要。

    更新 :当我运行Hibernate Tools时,此解决方案适用于我。 但是,它看起来不适用于构建WAR文件。 它不包含目标WAR文件中的ojdbc6.jar文件。

    1)在项目的根目录下创建一个名为“lib”的目录。

    2)在那里复制ojdbc6.jar文件(无论调用哪个jar)。

    3)创建一个看起来像这样的依赖项:

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc</artifactId>
        <version>14</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/ojdbc6.jar</systemPath> <!-- must match file name -->
    </dependency>
    

    丑,但为我工作。

    要将文件包含在war文件中,请在您的pom中添加以下内容

    <build>
        <finalName>MyAppName</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <webResources>
                        <resource>
                            <directory>${basedir}/src/main/java</directory>
                            <targetPath>WEB-INF/classes</targetPath>
                            <includes>
                                <include>**/*.properties</include>
                                <include>**/*.xml</include>
                                <include>**/*.css</include>
                                <include>**/*.html</include>
                            </includes>
                        </resource>
                        <resource>
                            <directory>${basedir}/lib</directory>
                            <targetPath>WEB-INF/lib</targetPath>
                            <includes>
                                <include>**/*.jar</include>
                            </includes>
                        </resource>
                    </webResources>
                </configuration>
            </plugin>
    
            <plugin>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

    下载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 lib安装在本地maven存储库中。

    链接地址: http://www.djcxy.com/p/73827.html

    上一篇: Find Oracle JDBC driver in Maven repository

    下一篇: How to set the java.library.path from Eclipse