Je me bats avec cela depuis un certain temps maintenant. Voici ma solution:
D'abord, séparez votre Scala et votre code AspectJ dans différents projets. Puis ajoutez un générateur Ant à votre projet Scala.
Il court chaque fois que le constructeur de scala court et fait le tissage. Il utilise ant4eclipse pour extraire le classpath, mais vous devrez fournir l'emplacement de la bibliothèque 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>
Matt R ci-dessous est correct, il est possible d'installer les deux plugins ensemble, mais il peut y avoir des incompatibilités que nous ne sommes pas au courant. Donc, s'il vous plaît soyez plus précis quant à ce qui se passe.\ –
@Andrew Eisenberg Fondamentalement, les tisseurs AspectJ cessent de tisser une fois que j'ajoute Scala Builder au projet. Si je désactive le générateur de scala, tout fonctionne correctement, sauf la compilation Scala. –
Bon ... Je vois ce qui se passe. –