Смешивание AspectJ и Scala в проекте Eclipse - PullRequest
5 голосов
/ 04 февраля 2011

Кто-нибудь мог заставить Scala и AspectJ (AJDT) хорошо играть вместе в Eclipse 3.6?

Кажется, ткач Скалы конфликтует с ткачом Аспекта. Я надеюсь, что просто что-то упустил.

Редактировать: играть хорошо в том же проекте

Ответы [ 4 ]

3 голосов
/ 07 февраля 2011

Исходя из вашего комментария выше, похоже, что вы хотите, чтобы в одном проекте использовались как сборщик AspectJ, так и сборщик Scala. Это невозможно. Каждый делегирует свой собственный компилятор, и эти два компилятора (пока) не совместимы. Компилятор Scala может создавать Java и Scala-код вместе, а AspectJ-компилятор может создавать AspectJ и Java-код вместе, но это все.

Если вы хотите, чтобы аспекты применялись к вашему коду Scala, вы должны разделить ваши AspectJ и Scala-код на разные проекты, а затем добавить проект Scala в путь вашего AspectJ-проекта.

Это то же самое, что вам нужно сделать, если вы компилируете из ant или командной строки.

2 голосов
/ 04 февраля 2011

На данный момент рекомендуемая версия по-прежнему Eclipse3.5.2 .

Билеты типа 1000075 или 3251 упоминание:

Если вы в отчаянии, есть экспериментальный ночной сайт обновлений по адресу http://download.scala -ide.org / nightly-update-wip-helios-2.8.0.final .

Сегодня текущая ночная версия, которую вы можете попробовать с помощью Helios 3.6, будет такой:

http://download.scala -ide.org / nightly-update-master-2.8.1.окончательный

0 голосов
/ 25 марта 2012

Я уже давно борюсь с этим. Вот мое решение:

Сначала разделите ваш Scala и код AspectJ на разные проекты.

Затем добавьте Ant Builder в ваш проект Scala. Он запускается всякий раз, когда работает скала-строитель и ткачество. Он использует ant4eclipse для извлечения пути к классам, но вам нужно будет указать местоположение библиотеки scala.

build.xml:

<project name="simple-example" default="compile"
xmlns:ant4eclipse="antlib:org.ant4eclipse"
         xmlns:antcontrib="antlib:net.sf.antcontrib">

<ant4eclipse:jdtClassPathLibrary name="org.scala-ide.sdt.launching.SCALA_CONTAINER">
  <fileset file="../lib/scala-library.jar"/>
</ant4eclipse:jdtClassPathLibrary >

<ant4eclipse:getJdtClassPath 
    workspacedirectory=".."
    projectName="lpfExample"
    property="classpath"/>

<target name="compile">
    <iajc sourceroots="src" destdir="bin">
        <inpath>
            <pathelement location="bin" />
        </inpath>
        <aspectpath>
            <pathelement location="../aspects/bin"/>
        </aspectpath>
        <classpath path="${classpath}"/>
    </iajc>
</target>
</project>
0 голосов
/ 06 февраля 2011

Вы имеете в виду одновременную установку плагина Scala и AJDT?Это, безусловно, выполнимо - например, для разработки самого плагина Scala.

Я делаю следующее:

  • Установите сервис AspectJ dev tools + сервис затмения затмений
  • Установите Scala IDE, но опустите JDT Weaving для Scala
...