JDBC Maven de la Dépendance dans pom.xml
J'ai créé un Projet Maven dans Eclipse (EE Développeur Kepler version) et j'ai dans mon pom.xml fichier d'erreur suivant, "artefact Manquant com.oracle:ojdbc7 jar:12.1.0.1" dans le présent code
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc7</artifactId>
<version>12.1.0.1</version>
</dependency>
Je sais que je dois ajouter le jdbc référentiel dans mon .m2 dossier. Je l'ai fait en téléchargeant le ojdbc7.jar à partir du lien suivant http://www.oracle.com/technetwork/database/features/jdbc/jdbc-drivers-12c-download-1958347.html
Avec cette archive téléchargé, j'ouvre un terminal (j'ai installé Debian) et exécutez la commande suivante en tant que root
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc7
-Dversion=12.1.0.1 -Dpackaging=jar -Dfile=ojdbc7.jar -DgeneratePom=true
Après, j'ai reçu comme une sortie de SUCCÈS, et si je vais à la .m2 dossier, je vois dans la com->oracle->ojdbc7 deux fichiers appelés "ojdbc7-12.1.0.1.jar.lastUpdated" et "ojdbc7-12.1.0.1.pom.lastUpdated" mais encore Eclipse apporte-moi le code dans le pom.xml fichier comme une erreur
Que puis-je faire pour résoudre ce problème?
OriginalL'auteur a.ras2002 | 2014-04-08
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez eclipse, allez dans le dossier où vous avez votre pom et essayez cette commande:
Je n'ai pas essayé sous Linux, mais il devrait résoudre vos dépendances /tracé de l'éclipse questions.
Il semble que vous avez une ancienne version de la jre (<1.6). Une rapide recherche sur google renvoie ceci, mais je n'ai pas vraiment le savoir.
Je l'ai fait, et également les éléments suivants, cliquez avec le bouton droit de projet-> supprimer maven de la nature. Puis dans un terminal, exécutez cette commande "mvn eclipse:nettoyer" et enfin supprimer le projet dans eclipse (mais ne supprimez pas les sources) et de les importer à nouveau le projet. Avec tout cela, le projet est enfin erreurs-gratuit
Je suis confronté au même problème et après l'exécution de cette commande, j'obtiens cette erreur "[ERREUR] impossible de trouver l'objectif de "add-maven-repo" dans le plugin org.apache.maven.plugins: maven-eclipse-plugin:2.10 des objectifs propres, configurer l'espace de travail d'eclipse, de l'aide, installez-plugins, myeclipse, myeclipse-propre, rad, rad-propre, retirez-cache, résoudre-espace de travail-dépendances, sur-maven -> [Aide 1]" .
OriginalL'auteur robertoia
Si cela ne fonctionne pas (il devrait), essayez clic droit sur le projet dans la vue de l'Explorateur, sélectionner "Maven-->Projet de mise à Jour..." dans le menu contextuel, en sorte que "la mise à Jour des dépendances" est cochée dans la boîte de dialogue qui s'affiche, et appuyer sur OK.
BTW, vous voudrez probablement ajouter
<scope>runtime</scope>
à votredependency
élément dans le fichier pom, même si c'est pas liée à votre problème.Intéressant, le "Projet de mise à Jour" dialogue fait la même chose que le
mvm eclipse:eclipse
commande ci-dessus. Leeclipse:add-maven-repo
commande est obsolète et n'est plus nécessaire, ce qui n'a rien. Dans la boîte de dialogue, le "Projet de mise à Jour de la configuration de pom.xml" doit être cochée par défaut. Avez-vous décochez?Dans tous les cas, aucune de ces commandes de l'effet de l'Éclipse de l'indice de la source locale. Depuis Eclipse IIRC rafraîchit votre espace de travail lorsqu'il reprend focus, je suppose que lorsque vous êtes allé à la ligne de commande et de retour à nouveau les actualiser votre espace de travail, et c'est ce qui fait le problème semble disparaître à l'époque.
Je ne sais pas pourquoi l'erreur s'en alla... Comme vous l'avez dit, le Projet de mise à Jour est la même chose que
mvn eclipse:eclipse
Et dans la boîte de dialogue, le "Projet de mise à Jour de la configuration de pom.xml" est cochée... donc je ne sais pas pourquoi cette erreur a disparu lorsque j'ai fait ce que @RobertoIzquierdo m'a dit, mais ce qui se passe.... juste une petite question, pourquoi vous m'avez dit d'ajouter<scope>runtime</scope>
de mon élément de dépendance? (oui, je suis un débutant total en Maven et J2EE)Le
runtime
champ d'application signifie que la bibliothèque n'est nécessaire lors de l'exécution, et non pas lors de la compilation. Qui est, le pot ne sera pas ajouté à votre chemin de classe lors de la compilation de votre code, mais il sera ajouté au chemin de classe lors de l'exécution du code compilé. Depuis le pilote simplement implémente l'API JDBC et de ne pas fournir à tout public des classes (que vous devriez être en utilisant), il n'est pas nécessaire lors de la compilation. Si vous exclure lors de la compilation, l'Éclipse sera plus efficace car elle n'a pas à analyser le bocal et ajouter ce qu'il trouve à la complétion de code.OriginalL'auteur Alvin Thompson
Il y a un autre choix pour les pilotes Oracle JDBC, qui n'est pas parfait, car il nécessite d'être inscrit dans le repository maven à partir d'Oracle, mais il n'a pas besoin de la mvn install:install-fichier de l'étape.
Vérifier les étapes pour configurer ici:
OriginalL'auteur Peter Gibbons