首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring和AOP

Spring和AOP
EN

Stack Overflow用户
提问于 2012-08-05 17:20:17
回答 1查看 290关注 0票数 1

我正在尝试将一个现有的(网络)项目迁移到roo。经过几个小时的痛苦迁移,我的maven设置,roo开始喜欢我的项目,我能够运行我的单元测试。到现在为止还好。

在我的项目中,我使用spring来做一些安全性,所有这些都带有代理,没有编译器。当在eclipse中启动我的webapp时,它告诉我,有些类丢失了,f.e。org.aspectj.lang.annotation.Aspect。

当查看我的类路径时,所有aspectj.jar-内容都会从类路径中删除。我想这是因为Roo使用来添加AOP,并且不需要运行时编织。那么,迁移我现有的aop代码的正确方法是什么?我应该告诉Roo/Maven将所有的aspectj添加到webapp-lib文件夹中,还是应该迁移aop以进行编译时编织?

答案是什么,我该怎么做?

  1. 在我的pom.xml中有这样的依赖关系:代码: org.aspectj aspectjrt ${aspectj.version} org.aspectj aspectjweaver ${aspectj.version}

我真的不知道从日食类路径中移除aspectj的魔力在哪里发生的。那么我要换什么才能把罐子放在类路径上呢?

  1. 我的方面如下所示,在使用运行时织入:Code时工作: @方面公共类SecurityAspect {@约(“execution(@AuthorizedMethod public * de.diandan.web.controller.*.*(..))")公共对象checkRights(ProceedingJoinPoint jp)抛出可抛出的{}

我要怎么做才能让aspectj在编译时编织这个方面?

你好,迈克尔

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-25 06:13:38

所以,在我花时间分析问题之后,似乎不是Roo本身将aspectj罐子从类路径中移除,而是第2.7节中的eclipse插件(命令> roo项目所推崇的)。我不知道这是一个bug还是一个特性,但是用这个插件创建一个eclipse项目,去掉了那个罐子。改为2.8解决了这个问题。

因此,答案是:->使用进一步的运行时编织->,在eclipse-plugin中发生了这种魔术。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11818469

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档