Tôi đã đấu tranh với điều này một thời gian. Đây là Giải pháp của tôi:
Trước tiên, hãy tách Scala và mã AspectJ của bạn thành các dự án khác nhau.
Sau đó thêm trình tạo Ant vào dự án Scala của bạn. Nó chạy bất cứ khi nào người xây dựng scala chạy và không dệt. Nó sử dụng ant4eclipse để trích xuất classpath, nhưng bạn sẽ phải cung cấp vị trí của thư viện 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 dưới đây là chính xác, nó có thể cài đặt hai plugin với nhau, nhưng có thể có một số không tương thích mà chúng ta không nhận thức được. Vì vậy, hãy cụ thể hơn về những gì đang diễn ra.\ –
@Andrew Eisenberg Về cơ bản các nhà dệt AspectJ ngừng dệt khi tôi thêm Trình tạo Scala vào dự án. Nếu tôi vô hiệu hóa trình xây dựng scala tất cả hoạt động tốt, ngoại trừ không có biên dịch Scala. –
Phải ... Tôi hiểu chuyện gì đang xảy ra. –