2012-03-23 4 views
1

Каков рекомендуемый способ получения Scala IDE для Eclipse для ссылки на scala-compiler.jar?Scala IDE для поддержки компилятора Eclipse

Я столкнулся с этой проблемой при попытке разработать пользовательский DSL, который переводится в Scala во время выполнения.

Использование комбинаторов синтаксического анализатора Scala до сих пор было настоящим удовольствием.

Итак, теперь у меня есть сгенерированный код Scala, который мне нужно скомпилировать и запустить. Scala поддерживает это через набор пакетов scala.tools.nsc. *.

Однако пакет scala.tools.nsc не является частью scala-library.jar, а является частью scala-compiler.jar.

Насколько я могу судить, scala-compiler.jar не установлен как часть пакета Scala IDE для Eclipse (хотя он является частью подключаемого модуля), и я не могу найти простой способ добавить поддержку.

Единственный способ, по-видимому, вручную добавить ссылку на компилятор, из каталога плагина Eclipse или из версии, загруженной непосредственно из Интернета. Однако, даже если это работает, кажется, что это отличный способ столкнуться с проблемами в будущем.

Итак, что это лучший способ сделать это?

Приветствия, Или

ответ

1

Вы правы, что лучше, чтобы вручную добавить зависимость, а не использовать тот, который поставляется вместе с Eclipse. Если вы еще не используете его, посмотрите на систему сборки, которая имеет разрешение зависимостей, такое как maven или ivy или более в вене Scala, sbt.

Если вы не разрабатываете плагин, просто используйте стандартное разрешение зависимостей в maven, или плющом или что-то еще. Это то, что вам нужно для мавена:

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

Если вы разрабатываете плагин, то вы можете использовать подобное разрешение зависимостей, но если вы используете Maven, вы, вероятно, хотите посмотреть на Tycho.

+0

Вам не нужна зависимость. См. Мой другой ответ. –

+0

Хейко, ОП просил «лучший способ» сделать это. Вы совершенно правы, что можете добавить компилятор с помощью библиотеки добавления, но это дает вам библиотеку, которая включена в scala-ide. Это означает, что для воспроизведения сборки вне Eclipse вы не можете (легко) найти точную версию этой библиотеки (моя - 2.9.2.rdev-2769-2011-12-13-g2dd83da). Если вы когда-либо планируете строить за пределами Eclipse, вам необходимо иметь надежный способ идентификации вашей библиотеки. Уточненный мой ответ, чтобы сказать, что лучше вручную добавить зависимость, а не использовать компилятор в комплекте с Eclipse –

1

Это просто: Scala IDE для Eclipse поставляется с библиотекой под названием «Scala Compiler». Просто выберите «Путь сборки> Добавить библиотеки ...» в контекстное меню проекта Scala и выберите в библиотеке библиотеку «Scala Compiler».