2016-11-15 5 views
1

私はSBTで私の最初のプロジェクトを構築しようとしています。私はそれにいくつかの瓶を追加する必要があります。私build.sbtは、次のようになります。SBTに依存関係がありません

resolvers += "Local Maven Repository" at "file://"+Path.userHome.absolutePath+"/.m2/repository" 

name := "abc" 

version := "1.2.3" 

scalaVersion := "2.11.6" 

libraryDependencies ++= Seq(
    "org.slf4j" % "slf4j-log4j12" % "1.7.1", 
    "org.slf4j" % "slf4j-api" % "1.7.1" 
) 

が、プロジェクトはImは依存関係がクラスパス上にあるないに起因していると仮定

object slf4j is not a member of package org 

言ってコンパイルされません。どうすれば解決できますか?ありがとう。

+0

Scalaへようこそ、依存関係をダウンロードできなかった場合、メッセージは '未解決の依存関係.... 'と表示されます。 'slf4j'を使用しようとしているところでimport文を投稿できますか? – TheM00s3

+0

import org.slf4j。{Logger、LoggerFactory} – aiguy

+1

設定をリロードしましたか? reloadを呼び出すことを意味する場合は – mfirry

答えて

0

はそれがあなたのために働くなら、私に教えてください

import _root_.org.slf4j.{Logger, LoggerFactory} 

代わりに、次のimport文を使用してみてください。

+0

いいえ、違いはありません。 – aiguy

0

IntelliJを使用している場合はView > Tools Window > SBTに行き、SBTウィンドウで最新表示アイコンをクリックします(ヒント:すべてのプロジェクトを更新)。

次に、再構築を試みます。コマンドラインからsbt compileを実行する場合は、完全なエラー出力を含めるように質問を変更してください。

slf4jがローカルクラスパスから解決されていません。これはSBT(Iowをボンネットの下で使用)によって引き込まれ、中央Mavenリポジトリからそれを引き出します。他のコメントが述べたように、あなたのエディタがあなたのbuild.sbtファイルの古いバージョンを使ってあなたのプロジェクトをコンパイルしようとしているようです。従属性を引き出しません。

IntelBIでは、build.sbtを変更すると、プロジェクトを最新表示するかどうかを尋ねるメッセージが上部にポップアップ表示されます。これは、別のエディタを使用する場合、別の場所にある可能性があります。コマンドラインからsbtを実行すると、常に現在保存されているバージョンのbuild.sbtが使用されます。

1

実際、ディレクトリ構造が正しくないようです。私のsrcディレクトリはプロジェクトの下にありました/これは問題のようです。ソースを間違った場所にコピーした可能性があります。

+0

'project /'にあるソースはビルド定義の一部であり、メインコードベースの一部ではありません。 –

関連する問題