是否有可能擁有一個Scala Maven項目並在編譯階段在Scala類中編織AspectJ方面?AspectJ編譯時編織和Scala
我已經能夠獲得加載時織入工作,但迄今爲止沒有編譯時成功。
這些方面根本沒有編織到Scala類中。據我所知,編譯時編織需要一個特定的Java編譯器(AspectJ Compiler aka ajc)。我的理解是ajc無法編譯Scala。
Scala有沒有相當於ajc的?或者也許另一種讓編譯時編織與Scala一起工作的方法?
是否有可能擁有一個Scala Maven項目並在編譯階段在Scala類中編織AspectJ方面?AspectJ編譯時編織和Scala
我已經能夠獲得加載時織入工作,但迄今爲止沒有編譯時成功。
這些方面根本沒有編織到Scala類中。據我所知,編譯時編織需要一個特定的Java編譯器(AspectJ Compiler aka ajc)。我的理解是ajc無法編譯Scala。
Scala有沒有相當於ajc的?或者也許另一種讓編譯時編織與Scala一起工作的方法?
如何使用AJC的-inpath開關?它接受目錄或JAR中的.class文件並編入它們。你的Scala編譯成.class文件,所以應該工作。毫無疑問,你有AJC文檔,但是here's a link。
因此 - 是否爲您工作? – Ladlestein
我能夠使用aspectj-maven-plugin的「weaveDirectory」參數(它映射到ajc的-inpath)來獲得此功能。謝謝! – GuiSim
答案1不是真正的編譯時編織 - 它是已編譯類的二進制編織。例如,如果您的Scala類需要正確編譯這些方面,它將無法工作。我認爲scala編譯時編織的問題仍然是一個懸而未決的問題。
我們同意原始海報的評估,ajc不太可能知道如何編譯scala。
需要更多信息。你是否會遇到錯誤,或者只是沒有看到你希望編織的行爲?你可以發佈你的一些工件。 – Ladlestein
我已添加詳細信息。我沒有得到錯誤,而且這些方面沒有編織。這是預期的,因爲我沒有看到它應該如何工作。我沒有看到如何配置AspectJ Compiler來編譯Scala並在Scala字節碼中注入方面。 – GuiSim
添加答案... – Ladlestein