首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AspectJ看不到META/aop.xml

AspectJ看不到META/aop.xml
EN

Stack Overflow用户
提问于 2014-01-25 04:18:49
回答 1查看 1.6K关注 0票数 1

为了从外部jar文件(位于WEB-INF/lib中)编织一个类,我正在尝试使用我的Tomcat 7 webapp来编写加载时间编织。

我做了以下工作:

  1. 使用以下参数启动Tomcat:-javaagent:/path/aspectjweaver-1.7.0.jar -classpath /path/aspectjrt-1.7.0.jar:etc
  2. aop.xml放入WAR_ROOT/META-INF/, WEB-INF/lib/META_INF, WEB-INF/lib and WEB-INF/

aop.xml:

代码语言:javascript
复制
<aspectj>
 <aspects>
   <aspect name="ca.gc.agr.agrishare.web.jsf.chartlet.AgriShareGanttRendererAspect"/>
 </aspects>
 <weaver options="-verbose -debug -XnoInline">
    <include within="org.jfree..*"/>
    <dump within="org.jfree..*" />
 </weaver>
</aspectj>

不管我把文件放在哪里,我的目标类都没有编成,我经常看到这样的错误:

代码语言:javascript
复制
[WebappClassLoader@495b317b] error can't determine implemented interfaces of missing type javax.validation.ValidatorFactory
when weaving type org.hibernate.cfg.beanvalidation.TypeSafeActivator
when weaving classes 
when weaving 
 [Xlint:cantFindType]

事实上,它试图在我指定的包之外编织一个类,并且考虑到服务器启动时间翻两番,我认为它正在尝试编织所有类。

我遗漏了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-01-25 05:47:10

弄明白了。

WAR_ROOT/META-INF/servletContext.getResource("/META-INF/bla")查找的webapp元数据。

WAR_ROOT/WEB-INF/classes/META-INFgetContextClassLoader().getResource("/META-INF/bla")查找的java类元数据。

我在Config项目(它位于类路径上)中创建了META-INF/aop.xml,现在一切都正常工作。

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

https://stackoverflow.com/questions/21346559

复制
相关文章

相似问题

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