111 votes

Oracle JDBC ojdbc6 Jar comme dépendance Maven

Je n'arrive pas à faire en sorte que Maven intègre le fichier ojdbc6.jar dans le fichier war de mon projet. Je l'ai fait fonctionner dans le fichier POM en spécifiant une dépendance directement pour les outils Hibernate. Mais il n'est pas intégré au fichier war du projet, et donc mon projet ne fonctionne pas sur Tomcat.

J'ai essayé toutes les solutions que j'ai pu trouver sur le net, y compris celles spécifiées pour cette question ici :

Trouver le pilote Oracle JDBC dans le référentiel Maven

Plus récemment, j'ai fait ce qui suit :

  1. Télécharger le fichier jar sur ma machine

  2. Exécutez la commande suivante pour installer le jar dans mon dépôt local :

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

    (J'ai également essayé toutes sortes de variantes de cette commande).

  3. Enfin, j'ai ajouté la dépendance dans mon fichier pom :

    <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0.3</version>
    </dependency>
  4. Je lance une compilation propre, mais elle échoue :

    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]

Pourquoi cela ne fonctionne-t-il pas ? Je suis prêt à jeter des pièces d'ordinateur coûteuses à travers la pièce. Cela m'a fait perdre tellement de temps. (Merci, Oracle. Combien vous a-t-on déjà payé ?)

Est-ce parce que j'utilise un Mac, peut-être ?

137voto

Ondrej Kvasnovsky Points 1223

Il est préférable d'ajouter un nouveau dépôt Maven (de préférence en utilisant votre propre artefact) à votre projet plutôt que de l'installer dans votre dépôt local.

Syntaxe 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>

Exemple Grails :

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

46voto

rickygrimes Points 465

Pour ceux qui liront ce billet à l'avenir, il n'est pas nécessaire de se rendre dans le répertoire où se trouve l'archive. Voici ce qu'il faut faire -

Allez dans le dossier de votre projet à partir duquel vous pouvez lancer des commandes maven (lorsque vous faites un ls -ltr dans ce dossier, vous devriez voir pom.xml).

Faites ceci -

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

Une fois que c'est fait, vous pouvez ajouter la dépendance dans votre pom.xml, quelque chose comme ceci -

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

24voto

Marvo Points 5444

La bonne réponse a été fournie par Raghuram dans la section des commentaires à ma question initiale.

Pour une raison quelconque, le fait de pointer "mvn install" vers un chemin complet du fichier physique ojdbc6.jar n'a pas fonctionné pour moi. (Ou alors, j'ai constamment fait des erreurs lors de l'exécution de la commande, mais aucune erreur n'a été émise).

Le cd-ing dans le répertoire où je garde ojdb6.jar et l'exécution de la commande à partir de là a fonctionné la première fois.

Si Raghuram souhaite répondre à cette question, je me contenterai de sa réponse. Merci à tous !

8voto

Sushil Gulhane Points 81
mvn install:install-file 
-Dfile=C:\Users\xxxx\Downloads\lib\ojdbc6.jar 
-DgroupId=com.oracle
-DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

pour résoudre le problème du JAR ORACLE avec l'application Spring,

Oracle JDBC ojdbc6 Jar comme dépendance Maven

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

5voto

user3409332 Points 21

Vous devez d'abord télécharger le fichier jar particulier sur le site d'Oracle (ojdbc.jar version 11.2.0.3).

si vous le téléchargez sur C:\filefolder

Allez dans ce répertoire dans l'invite cmd et fournissez la commande ci-dessous. Cela installera la dépendance. Ensuite, vous pouvez construire votre projet.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X