我正試圖將現有的(web)項目遷移到roo。經過一些痛苦的時間遷移我的maven-settings roo開始喜歡我的項目,我可以運行我的單元測試。到現在爲止還挺好。Spring Roo和AOP
在我的項目中,我使用spring-aop來做一些安全性,所有代理都沒有編譯器。在eclipse中啓動我的webapp時,它告訴我,有些類缺失,f.e. org.aspectj.lang.annotation.Aspect。
當我查看我的classpath時,所有的aspectj.jar-stuff都從classpath中刪除。我想這是因爲Roo使用Aspectj-Compiler來添加AOP,並且不需要運行時編織。那麼遷移我現有的aop-code的正確方法是什麼?我應該告訴Roo/Maven將所有aspectj-jar添加到我的webapp-lib文件夾,還是應該將aop遷移到編譯時編織?
有什麼答案,我該怎麼做?
在我的pom.xml也有一些相關性: 代碼:
<dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactId> <version>${aspectj.version}</version> </dependency> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>${aspectj.version}</version> </dependency>
我真的不知道在哪裏所有的袋鼠,Maven的東西,奇蹟發生了對AspectJ中被刪除來自日食類路徑。那麼,我需要改變什麼才能在類路徑中保留這些罐子?
我的方面是這樣的,並適用於使用運行時編織時: 代碼:
@Aspect public class SecurityAspect { @Around("execution(@AuthorizedMethod public * de.diandan.web.controller.*.*(..))") public Object checkRights(ProceedingJoinPoint jp) throws Throwable { }
我有什麼做的,告訴AspectJ來織在編譯時這方面?
問候, 邁克爾