2016-05-17 7 views
0

私は現在Play!フレームワークと私がやっているプロジェクトはビルドツール(Mavenではない)としてsbtを使います。私はMongoDBをbuild.sbtへの依存として追加しようとしてきましたが、これまで成功していませんでした。JavaのみのプロジェクトでSBTにMongoDBを追加する

私は逃したことがありますか? Btw、JUnitを依存関係としてリストする必要はないのですか?

build.sbtファイル:

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 

も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: を以下コンパイル時エラーメッセージでありますターミナルでplay compileコマンドを実行すると、次のようになります。

[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

すべてのエラーメッセージが参考になります。また、junitを依存関係として追加する必要がありますか? – rethab

+0

@rethab JUnitは依存関係に含めないとうまく動作しているようですが、なぜそうなのでしょうか? – Calculus5000

+1

artifactIdは 'mongo-java-driver'です。 JUnitはすでに他のlibによって参照されている可能性が高いです。あなたはこれを使って、次のことを確認することができます:https://github.com/jrudolph/sbt-dependency-graph – rethab

答えて

1

あなたが遭遇した問題は、あなたのプロジェクトがこれまでに会った依存関係を解決できないことです。あなたの質問に答える前に、次のように依存関係解決プロセスについて話したいと思います。

プロジェクトで依存関係を解決する必要がある場合、一部のリポジトリで依存関係を見つけようとします。

最初に、それはあなたのプロジェクトのように、ディレクトリが〜/ Developer/Play/play-2.2.6/repository/であるあなたのプロジェクトのリポジトリにステップインします。

見つからない場合は、Mavenのリポジトリがそのディレクトリに依存関係も見つからない場合〜/ .m2 /リポジトリ/

、そのようなhttp://repo1.maven.org/maven2として、インターネット上のリポジトリにアクセスしますされて検索されますをダウンロードし、ローカルにダウンロードしてください。

あなたのネットワークでは、http://repo1.maven.org/maven2へのアクセスがサポートされていない可能性があります。その理由が考えられます。あなたは次のこと実行して、この問題を解決することができ

1)jarファイルをダウンロードし、http://central.maven.org/maven2/org/mongodb/mongo-java-driver/3.2.0/mongo-java-driver-3.2.0.jar

2)は、次のコマンド

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 
を使用して、それをローカルのMavenリポジトリを公開

注:

ドライバをDirector Y "〜/"、そして

-Dfile =〜/モンゴ-javaのドライバ-3.2.0.jar

あなたがMVNをインストールしていない場合は、それをインストールします。 その後、プロジェクトを再度開きます。

幸運を祈る

関連する問題