2017-04-09 8 views
1

ここにScalaとsbt newbieがあります。私はMongoDBのを照会し、マップとして結果を返すためにMavenプロジェクトのScala jar:org.mongodb:casbah_2.12:jar:3.1.1の検索に失敗しました

libraryDependencies += "org.mongodb" %% "casbah" % "3.1.1" 

カスバ使用スカラのsbtプロジェクトを作成しました。 Java Mavenプロジェクトでこのコードを使用して、データベースのクエリから得られた結果を操作したいと考えています。

私はbuild.sbtファイルにこれを追加しました:私の.m2ローカルレポでjarファイルをインストールする

publishMavenStyle := true 

publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath + "/.m2/repository"))) 

。私はsbt publishを行うときにここでの出力は次のようになります。

> publish 
[info] Packaging /Users/miguelvelez/Documents/Programming/Scala/Projects/mongo/target/scala-2.12/mongo_2.12-0.1.0-SNAPSHOT-sources.jar ... 
[info] Done packaging. 
[info] Main Scala API documentation to /Users/miguelvelez/Documents/Programming/Scala/Projects/mongo/target/scala-2.12/api... 
[info] Packaging /Users/miguelvelez/Documents/Programming/Scala/Projects/mongo/target/scala-2.12/mongo_2.12-0.1.0-SNAPSHOT.jar ... 
[info] Done packaging. 
[info] Wrote /Users/miguelvelez/Documents/Programming/Scala/Projects/mongo/target/scala-2.12/mongo_2.12-0.1.0-SNAPSHOT.pom 
[info] :: delivering :: edu.cmu.cs.mvelezce#mongo_2.12;0.1.0-SNAPSHOT :: 0.1.0-SNAPSHOT :: integration :: Sun Apr 09 13:58:46 EDT 2017 
[info] delivering ivy file to /Users/miguelvelez/Documents/Programming/Scala/Projects/mongo/target/scala-2.12/ivy-0.1.0-SNAPSHOT.xml 
model contains 9 documentable templates 
[info] Main Scala API documentation successful. 
[info] Packaging /Users/miguelvelez/Documents/Programming/Scala/Projects/mongo/target/scala-2.12/mongo_2.12-0.1.0-SNAPSHOT-javadoc.jar ... 
[info] Done packaging. 
[info] published mongo_2.12 to /Users/miguelvelez/.m2/repository/edu/cmu/cs/mvelezce/mongo_2.12/0.1.0-SNAPSHOT/mongo_2.12-0.1.0-SNAPSHOT.pom 
[info] published mongo_2.12 to /Users/miguelvelez/.m2/repository/edu/cmu/cs/mvelezce/mongo_2.12/0.1.0-SNAPSHOT/mongo_2.12-0.1.0-SNAPSHOT.jar 
[info] published mongo_2.12 to /Users/miguelvelez/.m2/repository/edu/cmu/cs/mvelezce/mongo_2.12/0.1.0-SNAPSHOT/mongo_2.12-0.1.0-SNAPSHOT-sources.jar 
[info] published mongo_2.12 to /Users/miguelvelez/.m2/repository/edu/cmu/cs/mvelezce/mongo_2.12/0.1.0-SNAPSHOT/mongo_2.12-0.1.0-SNAPSHOT-javadoc.jar 
[success] Total time: 3 s, completed Apr 9, 2017 1:58:49 PM 

私はその後、私のポンポンファイルにこの依存関係をインポート:

<dependency> 
    <groupId>edu.cmu.cs.mvelezce</groupId> 
    <artifactId>mongo_2.12</artifactId> 
    <version>0.1.0-SNAPSHOT</version> 
</dependency> 

私はmvn compileを実行すると、私は次のエラーを取得する:

[ERROR] Failed to execute goal on project performance-mapper: Could not resolve dependencies for project edu.cmu.cs.mvelezce:performance-mapper:jar:0.1.0-SNAPSHOT: Failure to find org.mongodb:casbah_2.12:jar:3.1.1 in https://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1] 

私はcasbahがいくつかのモジュールを持っていることを知っています。しかし、Casbahの文書に従って、私はenterieライブラリを追加します。私はまたMaven Centralを見て、このバージョンのcasbahには瓶がありません。独立したモジュールのみ。私はそれらのモジュールのいくつかをpomに追加しましたが、私はまだ上記と同じエラーがあります。 Mavenは完全なjarファイルを探しています。

これを修正する方法はありますか?私はbuild.sbtファイルに必要なScalaの依存関係を追加することしかできないと思っていましたが、私が行ったときにコンパイルエラーが発生しました。誰にも疑惑はありますか?

ありがとうございます!

+0

ローカルのpomファイルに依存関係としてCasbahを含める必要があります。 – Ross

+0

また、ローカルのpom.xmlで、依存関係タイプを 'pom'と設定します。 – Ross

+0

@Ross 2つの提案はjavaプロジェクトにありますか? –

答えて

0

あなたのプロジェクトにCasbahの依存関係がpomであることを確認する必要があります。たとえば、pom.xmlに次のように追加します。

<dependency> 
    <groupId>org.mongodb</groupId> 
    <artifactId>casbah_2.11</artifactId> 
    <version>3.1.1</version> 
    <type>pom</type> 
</dependency> 
+0

私は前と同じエラーメッセージを受け取りました。私も '' '' casbah_2.11'''で試してみましたが、私は同じ結果を得ました。 '' 'org.mongodb:casbah_2.12:jar:3.1.1が見つかりません。https://repo.maven.apache.org/maven2' '' –

+0

依存関係を 'pom'型として追加した場合は、それを'jar'ファイルを探してはいけません。 – Ross

関連する問題