2011-07-06 5 views
5

"console-project"コマンドでsbtからこのシェルを起動しました。スカラーでのインポートの競合を解決するにはどうすればよいですか?

scala> settings 
<console>:24: error: reference to settings is ambiguous; 
it is imported twice in the same scope by 
import Keys._ 
and import settings 
     settings 
    ^

Keys.settingsではなく、設定オブジェクトを表示するにはどうすればよいですか?

import Keys.{settings => keySettings, _} 
+0

私はSBTもキーも設定もないので、暗闇の中で撮影しています...「インポートキーを試してください。{settings => keys_settings}」REPLで動作するかどうかわかりません – PhiLho

+0

助けて。問題は、私が自分自身をインポートしていないということです.SBTはシェルプロンプトにアクセスする前にそれをやっています。 –

+1

質問を編集してパッケージレイアウトを追加できますか?どのパッケージがどのパッケージに入っていますか? – paradigmatic

答えて

10

あなたがそうのように、Keysからsettingsの名前を変更することができKeys._settings自分をインポートすると仮定すると:

import Keys.{settings => _, _} 
+0

動作しません。私はまだ同じエラーが発生します –

1

をそれとも、他の設定を必要としない場合は、あなただけにそれをリネームすることにより、それを無視することができます

+0

貧しい文法とスクリプトキディのスペルのためにDownvoting –

+0

それは動作しません。 >コンソールプロジェクト [情報]出発Scalaのインタープリタ... [情報] 輸入 インポートがScalaのバージョンに 輸入extracted._ ようこそcurrentState._輸入Process._ 輸入Keys._ sbt._ 2.8.1 。 スカラ>インポートキー{設定=> _、_} インポートキー{設定=> _、_} スカラ>設定 :27:エラー:設定への参照があいまいです。 import Keys._ とインポート設定 の設定で同じスコープで2回インポートされます ^ –

2

いつでも競合を解決するには、目的のオブジェクトへのフルパスを使用します。 パッケージ/オブジェクトにsettingsを定義したい場合は、を参照するよりもreplを指定してください。

0

あなたは、クラスパスにこのLIBSを追加する必要があります(これはプレイframewrk 2.0アプリケーションのためである、しかし、私はそれに役立つことを願っ)

/home/user/play/framework/sbt/boot/scala-2.9.1/org.scala-tools.sbt/sbt/0.11.0 

名main_2.9.1-0.11とjarファイルがあります.0.jarここでキーを見つけることができます。実際には、このjarファイルをクラスパスにエクスポートするだけで十分です。

関連する問題