Scala IDE для поддержки компилятора Eclipse - PullRequest
1 голос
/ 24 марта 2012

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

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

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

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

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

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

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

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

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

Ответы [ 2 ]

1 голос
/ 25 марта 2012

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

1 голос
/ 24 марта 2012

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

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

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

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

...