2016-05-17 11 views
0

Ich lerne gerade das Spiel! Rahmen und das Projekt, das ich durchlaufe, benutzt sbt als sein Bauwerkzeug (nicht Maven). Ich habe versucht, MongoDB als eine Abhängigkeit zu build.sbt hinzuzufügen, aber war bisher nicht erfolgreich.MongoDB zu SBT in einem Nur-Java-Projekt hinzufügen

Gibt es etwas, das ich verpasst habe? Übrigens, warum muss ich JUnit nicht als Abhängigkeit auflisten?

build.sbt Datei:

name := "warehouse" 
version := "1.0-SNAPSHOT" 
autoScalaLibrary := false 

libraryDependencies ++= Seq(
    javaJdbc, 
    javaEbean, 
    cache 
) 

libraryDependencies += "org.mongodb" % "mongodb-java-driver" % "3.2.0" 

play.Project.playJavaSettings 

diese auch hinzugefügt application.conf (link):

# The mongo module 
module.mongo=${play.path}/modules/mongo 

# mongodb connection details 
mongo.host=localhost 
mongo.port=27017 
mongo.database=play 

EDIT: Die unten ist die Kompilierung-Fehlermeldung das bekomme ich bei der Ausführung des play compile Befehls im Terminal:

[info] Resolving org.mongodb#mongodb-java-driver;3.2.0 ... 
[warn] module not found: org.mongodb#mongodb-java-driver;3.2.0 
[warn] ==== local: tried 
[warn] ~/Developer/Play/play-2.2.6/repository/local/org.mongodb/mongodb-java-driver/3.2.0/ivys/ivy.xml 
[warn] ==== Maven2 Local: tried 
[warn] file:~/.m2/repository/org/mongodb/mongodb-java-driver/3.2.0/mongodb-java-driver-3.2.0.pom 
[warn] ==== public: tried 
[warn] http://repo1.maven.org/maven2/org/mongodb/mongodb-java-driver/3.2.0/mongodb-java-driver-3.2.0.pom 
[warn] ==== Typesafe Releases Repository: tried 
[warn] http://repo.typesafe.com/typesafe/releases/org/mongodb/mongodb-java-driver/3.2.0/mongodb-java-driver-3.2.0.pom 
[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: org.mongodb#mongodb-java-driver;3.2.0: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
sbt.ResolveException: unresolved dependency: org.mongodb#mongodb-java-driver;3.2.0: not found 
. 
. 
. 
[error] (*:update) sbt.ResolveException: unresolved dependency: org.mongodb#mongodb-java-driver;3.2.0: not found 
+0

Alle Fehlermeldungen wären hilfreich .. Und, müssten Sie Junit als Abhängigkeit hinzufügen? – rethab

+0

@rethab JUnit scheint gut zu funktionieren, ohne als Abhängigkeit einbezogen zu werden. Ich habe mich nur gefragt, warum das so ist. – Calculus5000

+1

Die artifactId ist 'mongo-java-driver'. JUnit wird höchstwahrscheinlich bereits von einer anderen lib referenziert. Sie können dies verwenden, um zu überprüfen, welcher es ist: https://github.com/jrudolph/sbt-dependency-graph – rethab

Antwort

1

Das Problem, das Sie trafen, ist, dass Ihr Projekt die Abhängigkeit, die ich jemals zuvor getroffen habe, nicht lösen kann. Bevor ich Ihre Frage beantworte, möchte ich etwas über den Prozess der Abhängigkeitsauflösung wie folgt sprechen.

Wenn Ihr Projekt Abhängigkeiten auflösen muss, wird versucht, die Abhängigkeit in einigen Repositories zu finden. Das Repository, auf das sequentiell zugegriffen wird, ist wie folgt

Zuerst tritt es in das Repository Ihres Projekts ein, wie für Ihr Projekt, dessen Verzeichnis ~/Developer/Play/play-2.2.6/repository/ ist.

Wenn nicht gefunden, wird das Maven-Repository durchsucht werden, deren Verzeichnis ~/.m2/repository/

Wenn Abhängigkeit auch nicht gefunden wird, wird es das Repository auf das Internet zugreifen, wie http://repo1.maven.org/maven2, dann laden Sie es auf die lokale.

Vielleicht unterstützt Ihr Netzwerk nicht Ihren Zugang zu , was ich denke, es ist der Grund.

Sie dieses Problem, indem Sie die folgenden Dinge lösen können:

1) Laden Sie die JAR-Datei, http://central.maven.org/maven2/org/mongodb/mongo-java-driver/3.2.0/mongo-java-driver-3.2.0.jar

2) veröffentlichen die das lokale Maven-Repository

mvn install:install-file -Dfile=~/mongo-java-driver-3.2.0.jar -DgroupId=org.mongodb -DartifactId=mongo-java-driver -Dversion=3.2.0 -Dpackaging=jar 
mit dem folgenden Befehl

beachten Sie, dass

Wenn Sie den Treiber in Director herunterladen y "~ /", dann

-dfile = ~/Mongo-java-Treiber-3.2.0.jar

Wenn Sie mvn nicht installiert haben, ist es einfach zu installieren. Dann öffnen Sie Ihr Projekt erneut.

Viel Glück

Verwandte Themen