Skip to main content

Find Oracle JDBC driver in Maven repository



I want to add the oracle jdbc driver to my project as dependency (runtime scope) - ojdbc14. In MVNrepository 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?






Comments

  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.

    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 -DgeneratePom=true


    The last parameter for generating a POM will save you from pom.xml warnings

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

    ReplyDelete
  2. Up to now, its not possible to use maven repositories. I'm using ivy as dependency management tool, but also use maven2' s ibiblio repositories. And this is working for ivy:

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


    Maven2' s dependency could be something like that:

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


    Notice that i define http://download.java.net/maven/2/ and http://mirrors.ibiblio.org/pub/mirrors/maven/mule/dependencies/maven2/[organisation]/[module]/[revision]/[artifact]-[revision].[ext] as external maven2 repos on my ivy settings.

    ReplyDelete
  3. You can use Nexus to manage 3rd party dependencies as well as dependencies in standard maven repositories.

    ReplyDelete
  4. This worked for me:

    <dependency>
    <groupId>oracle</groupId>
    <artifactId>jdbc</artifactId>
    <version>6</version>
    </dependency>

    ReplyDelete

Post a Comment

Popular posts from this blog

Wildcards in a hosts file

I want to setup my local development machine so that any requests for *.local are redirected to localhost . The idea is that as I develop multiple sites, I can just add vhosts to Apache called site1.local , site2.local etc, and have them all resolve to localhost , while Apache serves a different site accordingly.