2012-03-23 3 views
1

Eclipse 용 Scala IDE에서 scala-compiler.jar을 참조하는 것이 좋습니다.Eclipse 컴파일러 지원을위한 Scala IDE

런타임에 스칼라로 변환되는 사용자 지정 DSL을 개발할 때이 문제가 발생했습니다.

스칼라 파서 결합 자 사용은 지금까지 완전한 즐거움이었습니다.

그래서 지금 컴파일하고 실행해야하는 생성 된 스칼라 코드가 생겼습니다. Scala는 scala.tools.nsc. * 패키지 세트를 통해이를 지원합니다.

그러나 scala.tools.nsc 패키지는 scala-library.jar의 일부가 아니라 scala-compiler.jar의 일부입니다.

필자가 말할 수있는 한, scala-compiler.jar은 Scala IDE for Eclipse의 번들의 일부로 설치되지 않지만 (플러그인의 일부 임), 간단한 방법을 찾을 수 없다. 그것에 대한 지원을 추가합니다.

이 문제를 해결하는 유일한 방법은 Eclipse 플러그인 디렉토리 또는 웹에서 직접 다운로드 한 버전의 컴파일러 jar에 대한 참조를 수동으로 추가하는 것입니다. 비록 그것이 작동하더라도, 그것은 길 아래의 문제에 부딪 치는 훌륭한 방법 인 것처럼 보인다.

그럼 어떻게해야할까요?

건배, 또는

답변

1

당신은 수동으로 종속성을 추가하기보다는 이클립스와 함께 번들로 제공되는 하나를 사용하는 것이 가장 좋습니다 것이 맞다. 이미 사용하고 있지 않다면, maven 또는 ivy 이상의 스칼라 정맥, sbt과 같은 의존성 해결을하는 빌드 시스템을보십시오.

플러그인을 개발하고 있지 않다면, maven이나 아이비 (ivy) 등에서 일반적인 의존성 분석을 사용하십시오. 이것은 당신이 받는다는에 필요한 것입니다 : 당신이 플러그인을 개발하는 경우

<dependency> 
    <groupId>org.scala-lang</groupId> 
    <artifactId>scala-compiler</artifactId> 
    <version>2.9.1</version> 
</dependency> 

, 당신은 유사한 의존성 해상도를 사용할 수 있지만 받는다는을 사용하는 경우, 당신은 아마 Tycho보고 싶을 것이다.

+0

종속성이 필요하지 않습니다. 내 다른 대답을 참조하십시오. –

+0

Heiko, OP는 이것을 수행하는 '가장 좋은 방법'을 요구하고있었습니다. 여러분은 add 라이브러리를 사용하여 컴파일러를 추가 할 수 있다고 완벽하게 맞습니다. 그러나 이것은 scala-ide에 포함 된 라이브러리를 제공합니다. Eclipse 외부에서 빌드를 재현하려면이 라이브러리의 정확한 버전을 찾을 수 없다는 것을 의미합니다 (내 2.9.2.rdev-2769-2011-12-13-g2dd83da). Eclipse 외부에서 빌드하려는 경우 라이브러리를 식별 할 수있는 확실한 방법이 필요합니다. Eclipse에 번들 된 컴파일러를 사용하는 대신 종속성을 수동으로 추가하는 것이 가장 좋습니다. –

1

간단합니다. Eclipse 용 Scala IDE에는 "Scala Compiler"라는 라이브러리가 있습니다. 스칼라 프로젝트의 컨텍스트 메뉴에서 "Build Path> Add Libraries ..."를 선택하고 대화 상자에서 "Scala Compiler"라이브러리를 선택하십시오.

관련 문제