2012-12-03 66 views
2

是否有可能擁有一個Scala Maven項目並在編譯階段在Scala類中編織AspectJ方面?AspectJ編譯時編織和Scala

我已經能夠獲得加載時織入工作,但迄今爲止沒有編譯時成功。

這些方面根本沒有編織到Scala類中。據我所知,編譯時編織需要一個特定的Java編譯器(AspectJ Compiler aka ajc)。我的理解是ajc無法編譯Scala。

Scala有沒有相當於ajc的?或者也許另一種讓編譯時編織與Scala一起工作的方法?

+0

需要更多信息。你是否會遇到錯誤,或者只是沒有看到你希望編織的行爲?你可以發佈你的一些工件。 – Ladlestein

+0

我已添加詳細信息。我沒有得到錯誤,而且這些方面沒有編織。這是預期的,因爲我沒有看到它應該如何工作。我沒有看到如何配置AspectJ Compiler來編譯Scala並在Scala字節碼中注入方面。 – GuiSim

+0

添加答案... – Ladlestein

回答

1

如何使用AJC的-inpath開關?它接受目錄或JAR中的.class文件並編入它們。你的Scala編譯成.class文件,所以應該工作。毫無疑問,你有AJC文檔,但是here's a link

+0

因此 - 是否爲您工作? – Ladlestein

+0

我能夠使用aspectj-maven-plugin的「weaveDirectory」參數(它映射到ajc的-inpath)來獲得此功能。謝謝! – GuiSim

1

答案1不是真正的編譯時編織 - 它是已編譯類的二進制編織。例如,如果您的Scala類需要正確編譯這些方面,它將無法工作。我認爲scala編譯時編織的問題仍然是一個懸而未決的問題。

我們同意原始海報的評估,ajc不太可能知道如何編譯scala。

相關問題