2011-07-06 9 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

가난한 문법과 스크립트 키디 맞춤법에 대한 하향 투표 –

+0

그건 작동하지 않는다. > 콘솔 프로젝트 [정보] 시작의 스칼라 인터프리터 ... [정보] 수입 가져 오기가 스칼라 버전으로 수입 extracted._ 에 오신 것을 환영합니다 currentState._ 수입 Process._ 수입 Keys._ sbt._ 2.8.1 . .. 스칼라> 임포트 키 {설정 => _, _} 임포트 키 {설정 => _, _} 스칼라> 설정 : 27 : 오류 : 설정 기준이 모호 동일한 범위에 두 번 가져 오기 가져 오기 Keys._ 및 가져 오기 설정 설정 ^ –

2

원하는 개체의 전체 경로를 사용하여 항상 충돌을 해결할 수 있습니다. settings을 패키지/개체에 정의한 경우 repl을 참조하려면 repl.settings을 참조하십시오.

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와 항아리가 .0.jar 여기서 을 찾을 수 있습니다. 실제로이 jar 파일을 클래스 경로로 내보내는 것으로 충분합니다.

관련 문제