Oracle JDBC ojdbc6 Jar как зависимость Maven - PullRequest
91 голосов
/ 28 марта 2012

Я не могу заставить Maven связать файл ojdbc6.jar с файлом моего проекта. У меня это работает в файле POM при указании зависимости непосредственно для инструментов Hibernate. Но он не будет связан с файлом проекта, и поэтому мой проект не будет работать на Tomcat.

Я испробовал каждое решение, которое смог найти в сети, в том числе указанные для этого вопроса:

Найти драйвер Oracle JDBC в репозитории Maven

Совсем недавно я сделал следующее:

  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]
    

Почему это не работает? Я готов бросить дорогие компьютерные детали по всей комнате. Это потратило так много времени. (Спасибо, Оракул. Сколько мы заплатили тебе снова?)

Это потому, что я на Mac, возможно?

Ответы [ 9 ]

131 голосов
/ 08 ноября 2012

Лучше добавить новый репозиторий 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'
38 голосов
/ 06 августа 2014

Для тех, кто читает этот пост в будущем, вам не нужно заходить в каталог, где находится 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>
22 голосов
/ 13 апреля 2012

Правильный ответ был предоставлен Рагурамом в разделе комментариев на мой оригинальный вопрос.

По какой-то причине указание «mvn install» на полный путь к физическому файлу ojdbc6.jar не сработало длямне.(Или я постоянно неоднократно набрасывал его при запуске команды, но ошибок не возникало.)

Переписывание в каталог, где я храню ojdb6.jar, и запуск команды оттуда сработал в первый раз.

Если Рагурам захочет ответить на этот вопрос, я приму его ответ.Спасибо всем!

5 голосов
/ 04 мая 2016

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

для решения проблемы ORACLE JAR с приложением Spring,

Oracle JDBC ojdbc6 Jar как зависимость Maven

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

5 голосов
/ 22 августа 2014

Сначала вам необходимо скачать конкретный jar с сайта Oracle (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
2 голосов
/ 02 августа 2016

Ниже конфиг работал у меня. Для получения более подробной информации см. Ссылку .

<dependency>
 <groupId>com.oracle.jdbc</groupId>
 <artifactId>ojdbc7</artifactId>
 <version>12.1.0.2</version>
</dependency>
2 голосов
/ 11 апреля 2014

После выполнения

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. Если нет, проверьте настройки своего репозитория maven в $ M2_HOME / conf / settings.xml

1 голос
/ 23 мая 2014

Я следовал приведенной ниже команде:

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

После установки убедитесь, что jar правильно установлен на вашем M2_repo.

0 голосов
/ 20 июля 2017

Добавить следующую зависимость в pom.xml

<dependency>
    <groupId>com.oracle</groupId>
    <artifactId>oracle</artifactId>
    <version>10.2.0.2.0</version>
</dependency>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...