2011-07-06 14 views
5

Uruchomiłem tę powłokę z sbt za pomocą polecenia "konsola-projekt".Jak mogę rozwiązać konflikty importu w scala?

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 
    ^

W jaki sposób ustawić powłokę, aby wyświetlała obiekt ustawień, a nie ustawienia klawiszy?

+0

Strzał w ciemności, ponieważ nie mam SBT ani klawiszy ani ustawień ... Spróbuj "importować klawisze. {Settings => keys_settings}' Nie wiem, czy działa w REPL – PhiLho

+0

To nie Wsparcie. Problem polega na tym, że sam nie importuję, sbt robi to dla mnie, zanim uzyskam dostęp do zachęty powłoki. –

+1

Czy możesz edytować pytanie, aby dodać układ pakietu? Jaki przedmiot znajduje się w jakim pakiecie? – paradigmatic

Odpowiedz

10

Zakładając, że importowany Keys._ i settings siebie można zmienić nazwę settings z Keys, tak:

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

Nie działa. Nadal dostaję ten sam błąd. –

1

Lub jeśli nie trzeba inne ustawienia, można po prostu zignorować go zmieniając jego nazwę na:

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

Dosławianie dla złej gramatyki i pisowni dla dzieciaków. –

+0

To nie działa. > konsola projekt [info] Wychodząc scala interpreter ... [info] import sbt._ import Process._ import Keys._ import currentState._ import extracted._ Witamy w wersji Scala 2.8.1 . .. scala> importowanie kluczy {ustawienia => _ _} importowanie kluczy {ustawienia => _ _} scala> ustawienia : 27: błąd: odniesienia do ustawienia jest jednoznaczny jest importowany dwukrotnie w tym samym zakresie przez klucze importu. i ustawienia importu ustawienia ^ –

2

Zawsze można rozwiązać konflikty, używając pełnej ścieżki do wybranego obiektu. Więc jeśli chcesz settings zdefiniowany w paczce/obiekcie repl niż możesz odwołać się do repl.settings.

0

Należy dodać to do ciebie bibliotekami klasowej ścieżki: (to jest dla aplikacji play-framewrk 2.0, jednak mam nadzieję, że to może pomóc)

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

jest słoik z nazwą main_2.9.1-0.11 .0.jar gdzie można znaleźć klucze Keys. W rzeczywistości wystarczy wyeksportować ten słoik tylko do ścieżki klasowej.

Powiązane problemy