Ich kann Maven scheinbar nicht dazu bringen, die Datei ojdbc6.jar in die Kriegsdatei meines Projekts zu bündeln. Ich habe es in der POM-Datei arbeiten, wenn eine Abhängigkeit direkt für Hibernate-Tools angegeben wird. Es wird jedoch nicht mit der Kriegsdatei des Projekts gebündelt, und daher wird mein Projekt nicht auf Tomcat ausgeführt.
Ich habe jede Lösung ausprobiert, die ich im Internet finden kann, einschließlich der für diese Frage angegebenen:
Suchen Sie den Oracle JDBC-Treiber im Maven-Repository
Zuletzt habe ich Folgendes getan:
Laden Sie die JAR-Datei auf meinen Computer herunter
Führen Sie den folgenden Befehl aus, um das JAR in meinem lokalen Repository zu installieren:
mvn install:install-file -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -Dfile=ojdbc6.jar -DgeneratePom=true
(Ich habe auch alle möglichen Varianten dieses Befehls ausprobiert.)
Schließlich habe ich die Abhängigkeit in meine POM-Datei eingefügt:
<dependency> <groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.3</version> </dependency>
Ich führe einen sauberen Build aus, aber er schlägt fehl:
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]
Warum funktioniert das nicht? Ich bin bereit, teure Computerteile durch den Raum zu werfen. Das hat so viel Zeit verschwendet. (Danke, Oracle. Wie viel haben wir Ihnen wieder bezahlt?)
Liegt es vielleicht daran, dass ich auf einem Mac bin?
ojdbc6-11.2.0.3.jar
in Ihrem lokalen Repository im richtigen Ordner verfügbar ist?mvn install:install-file
hat nicht funktioniert. Sie sollten den absoluten Speicherort desojdbc6.jar
Befehls angeben oder ihn in dem Ordner ausführen, der ihn enthält. Der Dateiname ist kein Problem. Sie können mit einem-X
Flag ausgeführt werden, um Informationen zu debuggen.install-file
? Maven sollte Ihnen mitteilen, wo die Datei installiert wird oder ob Fehler aufgetreten sind.Antworten:
Es ist besser, Ihrem Projekt ein neues Maven-Repository hinzuzufügen (vorzugsweise mit Ihrem eigenen Artefakt), als es in Ihrem lokalen Repository zu installieren.
Maven-Syntax:
Grails Beispiel:
quelle
Wenn Sie diesen Beitrag in Zukunft lesen möchten, müssen Sie nicht in das Verzeichnis wechseln, in dem sich das Glas befindet. Folgendes müssen Sie tun:
Wechseln Sie zu Ihrem Projektordner, in dem Sie Maven-Befehle ausführen können. (Wenn Sie in diesem Ordner ein ls -ltr ausführen, sollte pom.xml angezeigt werden.)
Mach das -
Sobald dies erledigt ist, können Sie die Abhängigkeit in Ihrer pom.xml hinzufügen.
quelle
Maven > Update Project
. Dann hat alles wunderbar funktioniert. Dieser Schritt mag offensichtlich sein, aber ich dachte, ich würde ihn hinzufügen.Die richtige Antwort lieferte Raghuram im Kommentarbereich auf meine ursprüngliche Frage.
Aus irgendeinem Grund funktionierte es für mich nicht, "mvn install" auf einen vollständigen Pfad der physischen Datei "ojdbc6.jar" zu verweisen. (Oder ich habe es beim Ausführen des Befehls immer wieder wiederholt, aber es wurden keine Fehler ausgegeben.)
Das erste Mal funktionierte es, in das Verzeichnis zu wechseln, in dem ich ojdb6.jar behalte, und den Befehl von dort aus auszuführen.
Wenn Raghuram diese Frage beantworten möchte, akzeptiere ich stattdessen seine Antwort. Vielen Dank an alle!
quelle
um das ORACLE JAR-Problem mit der Spring-Anwendung zu beheben,
Oracle JDBC ojdbc6 Jar als Maven-Abhängigkeit
quelle
Zuerst müssen Sie das jeweilige JAR von der Oracle-Site herunterladen (ojdbc.jar Version 11.2.0.3).
Wenn Sie es in den Ordner C: \ herunterladen
Wechseln Sie in der cmd-Eingabeaufforderung in dieses Verzeichnis und geben Sie den folgenden Befehl ein. Dadurch wird die Abhängigkeit installiert. Anschließend können Sie Ihr Projekt erstellen.
quelle
Nach der Ausführung
Überprüfen Sie in Ihrem .m2-Repository-Ordner (/com/oracle/ojdbc6/11.2.0.3), ob ojdbc6.jar vorhanden ist. Wenn nicht, überprüfen Sie die Einstellungen Ihres Maven-Repositorys unter $ M2_HOME / conf / settings.xml
quelle
Die folgende Konfiguration hat bei mir funktioniert. Weitere Informationen finden Sie unter diesem Link .
quelle
Da Oracle das lizenzierte Produkt ist, gibt es Probleme beim direkten Hinzufügen der Maven-Abhängigkeit. Um eine beliebige Version von ojdbc.jar hinzuzufügen, können die folgenden 2 Schritte ausgeführt werden.
Dadurch wird die Abhängigkeit zum lokalen Repository hinzugefügt.
quelle
Ich folgte dem folgenden Befehl, es funktionierte:
Überprüfen Sie nach der Installation, ob jar auf Ihrem M2_repo korrekt installiert ist.
quelle
Ich habe versucht, die Abhängigkeit ohne Versions-Tag zu verwenden, und es hat für mich gut funktioniert.
quelle
Folgende Abhängigkeit in pom.xml hinzufügen
quelle
Gehen Sie zum Laufwerk C-> Benutzer-> PC-Name-> .m2 suchen und fügen Sie dort die heruntergeladene ojdbc-JAR-Datei ein. Der Server wählt diese automatisch aus.
quelle
Oracle JDBC-Treiber und andere Begleit-Jars sind in Central Maven verfügbar. Wir empfehlen, die offiziell unterstützten Oracle JDBC-Versionen von 11.2.0.4, 12.2.0.2, 18.3.0.0, 19.3.0.0, 19.6.0.0 und 19.7.0.0 zu verwenden. Diese sind im Central Maven Repository verfügbar . Siehe Maven Central GuideWeitere Informationen finden .
Es wird empfohlen, die neueste Version zu verwenden. Lesen Sie die FAQ zur JDK-Kompatibilität.
quelle