Oracle JDBC ojdbc6 Jar作为Maven依赖项

时间:2012-03-27 22:15:51

标签: oracle maven jdbc war

我似乎无法让Maven将ojdbc6.jar文件捆绑到我项目的war文件中。在直接为Hibernate工具指定依赖项时,我在POM文件中工作。但是它不会与项目的war文件捆绑在一起,因此我的项目不会在Tomcat上运行。

我已尝试过网上可以找到的所有解决方案,包括此处为此问题指定的解决方案:

Find Oracle JDBC driver in Maven repository

最近,我做了以下事情:

  1. 将jar文件下载到我的机器

  2. 运行以下命令将jar安装到我的本地存储库中:

    mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
    

    (我也尝试了该命令的各种变体。)

  3. 最后,我将依赖项放入我的pom文件中:

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>
    
  4. 我运行一个干净的构建,但它失败了:

    mvn -U clean package
    
    [INFO] Scanning for projects...
    [INFO]                                                                         
    [INFO] ------------------------------------------------------------------------
    [INFO] Building jazztwo 0.0.1
    [INFO] ------------------------------------------------------------------------
    Downloading: http://repo1.maven.org/maven2/com/oracle/ojdbc6/11.2.0.3/ojdbc6-11.2.0.3.jar
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD FAILURE
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 0.700s
    [INFO] Finished at: Tue Mar 27 15:06:14 PDT 2012
    [INFO] Final Memory: 3M/81M
    [INFO] ------------------------------------------------------------------------
    [ERROR] Failed to execute goal on project jazztwo: Could not resolve dependencies for project edu.berkeley:jazztwo:war:0.0.1: Could not find artifact com.oracle:ojdbc6:jar:11.2.0.3 in central (http://repo1.maven.org/maven2) -> [Help 1]
    
  5. 为什么这不起作用?我准备把昂贵的电脑零件扔到房间里。这浪费了很多时间。 (谢谢你,甲骨文。我们又多少钱给你了?)

    是因为我在Mac上,也许是?

14 个答案:

答案 0 :(得分:129)

最好将新的Maven存储库(最好使用您自己的工件)添加到项目中,而不是将其安装到本地存储库。

Maven语法:

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.3</version>
</dependency>
... 
<repositories>
    <repository>
      <id>codelds</id>
      <url>https://code.lds.org/nexus/content/groups/main-repo</url>
    </repository>
  </repositories>

Grails示例:

mavenRepo "https://code.lds.org/nexus/content/groups/main-repo"
build 'com.oracle:ojdbc6:11.2.0.3'

答案 1 :(得分:37)

对于将来阅读此帖子的任何人,您无需cd到jar所在的目录。这是你需要做的 -

转到你可以运行maven命令的项目文件夹(当你在这个文件夹中执行ls -ltr时,你应该看到pom.xml)

这样做 -

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=<Path where the jar is, example downloads>/ojdbc6.jar -DgeneratePom=true

完成此操作后,您可以在pom.xml中添加依赖项,如下所示 -

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>

答案 2 :(得分:22)

正确答案由Raghuram在评论部分提供给我原来的问题。

无论出于何种原因,将“mvn install”指向物理ojdbc6.jar文件的完整路径对我来说不起作用。 (或者我在运行命令时一再重复它,但没有发出错误。)

进入我保留ojdb6.jar的目录并从那里运行命令第一次工作。

如果Raghuram想回答这个问题,我会接受他的回答。谢谢大家!

答案 3 :(得分:5)

首先,您需要从Oracle站点下载特定的jar(ojdbc.jar版本11.2.0.3)

如果您将其下载到C:\ filefolder

在cmd提示符下转到该目录并提供以下命令。它将安装依赖项。然后您可以构建项目。

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dpackaging=jar -Dversion=11.2.0.4.0 -Dfile=ojdbc6.jar -DgeneratePom=true

答案 4 :(得分:5)

E:\WORK\EclipseL_Work\ro>mvn install:install-file -Dfile=C:\Users\xxxx\Downloa ds\lib\ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

使用Spring Application解决ORACLE JAR问题,

Oracle JDBC ojdbc6 Jar作为Maven依赖

<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0</version> </dependency>

答案 5 :(得分:2)

执行

mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true

检查.m2存储库文件夹(/com/oracle/ojdbc6/11.2.0.3)以查看是否存在ojdbc6.jar。如果没有,请检查$ M2_HOME / conf / settings.xml

下的maven存储库设置

答案 6 :(得分:2)

下面的配置对我有用。有关详细信息,请参阅此link

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

答案 7 :(得分:1)

我按照下面的命令工作:

mvn install:install-file -Dfile=E:\JAVA\Spring\ojdbc14-10.2.0.4.0.jar\ojdbc14-10.2.0.4.0.jar -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar

安装完成后,检查您的M2_repo上是否正确安装了jar。

答案 8 :(得分:1)

由于Oracle是许可产品,因此直接添加maven依赖项存在问题。要添加任何版本的ojdbc.jar,可以执行以下2个步骤。

  1. 运行以下命令将ojdbc.jar安装到本地Maven存储库中。
/opt/apache-maven/bin/mvn install:install-file
    -Dfile=<path-to-file>/ojdbc7.jar
    -DgroupId=com.oracle
    -DartifactId=ojdbc7
    -Dversion=12.1.0.1.0
    -Dpackaging=jar

这会将依赖项添加到本地存储库中。

  1. 现在,在pom文件中添加依赖项
<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>ojdbc7</artifactId>
    <version>12.1.0.1.0</version>
</dependency>

答案 9 :(得分:1)

我尝试使用没有版本标签的依赖项,它对我来说很好用。

<dependency>
    <groupId>com.oracle.ojdbc</groupId>
    <artifactId>ojdbc8</artifactId>
</dependency>

答案 10 :(得分:0)

在pom.xml中添加以下依赖项

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>oracle</artifactId>
    <version>10.2.0.2.0</version>
</dependency>

答案 11 :(得分:0)

转到C驱动器->用户-> PcName->查找.m2,然后将下载的ojdbc jar文件粘贴到此处,服务器会自动选择它。

答案 12 :(得分:0)

公开:https://mvnrepository.com/artifact/com.oracle.database.jdbc/ojdbc6/11.2.0.4

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc6</artifactId>
    <version>11.2.0.4</version>
</dependency>

答案 13 :(得分:0)

对于 Ubuntu 问题

在ubuntu .m2\文件夹中很难找到并且很难将jar放入存储库,因此当我们在命令提示符中放入步骤1的命令时,它会在本地存储库中创建ojdbc7 jar。

第 1 步:转到任何位置,例如 /home/user/Documents 打开终端并输入此命令

命令

<块引用>

mvn install:install-file -Dfile=path_of_downloaded_jar/ojdbc7.jar -DgroupId=com.oracle -DartifactId=ojdbc7 -Dversion=12.1.0.2.0 -Dpackaging=jar -X

第 2 步:将此依赖项放入 pom.xml
依赖

  <dependency> 
   <groupId>com.oracle.jdbc</groupId>
   <artifactId>ojdbc7</artifactId>
   <version>12.1.0.2.0</version>
  </dependency>

第 3 步:更新 maven。

请注意:

您可以根据需要更改 ojdbc 的版本,例如 ojdbc6/7/8。