我正在尝试将EAR部署到我们的Websphere Application 7 (确切地说是7.0.0.17)。上一个版本运行良好,我只是尝试使用Perf4j在日志中添加一些分析细节。
除了日志中的以下例外,它无法安装:
com.ibm.ws.exception.RuntimeWarning: java.lang.TypeNotPresentException: Type org.perf4j.log4j.aop.EjbTimingAspect not present
at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.processBean(EJBMDOrchestrator.java:1357)
at com.ibm.ws.runtime.component.EJBContainerImpl.startModule(EJBContainerImpl.java:2618)
at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:3826)
[....snip...snip...]
Caused by: java.lang.TypeNotPresentException: Type org.perf4j.log4j.aop.EjbTimingAspect not present
at com.ibm.oti.reflect.AnnotationHelper$AnnotationInvocationHandler.invoke(AnnotationHelper.java:131)
at $Proxy27.value(Unknown Source)
at com.ibm.ws.metadata.ejb.InterceptorMetaDataFactory.addMethodLevelInterceptors(InterceptorMetaDataFactory.java:1263)
at com.ibm.ws.metadata.ejb.InterceptorMetaDataFactory.updateEJBMethodInfoInterceptorProxies(InterceptorMetaDataFactory.java:1384)
at com.ibm.ws.metadata.ejb.InterceptorMetaDataFactory.createInterceptorMetaData(InterceptorMetaDataFactory.java:410)
at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.initializeInterceptorMD(EJBMDOrchestrator.java:6924)
at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.finishBMDInit(EJBMDOrchestrator.java:1761)
at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.processBean(EJBMDOrchestrator.java:1346)
... 48 more
Caused by: java.lang.ClassNotFoundException: org.perf4j.log4j.aop.EjbTimingAspect
at com.ibm.oti.reflect.AnnotationHelper.getReturnValueForEntry(Native Method)
at com.ibm.oti.reflect.AnnotationHelper.access$000(AnnotationHelper.java:16)
at com.ibm.oti.reflect.AnnotationHelper$AnnotationInvocationHandler.invoke(AnnotationHelper.java:129)
... 55 more类org.perf4j.log4j.aop.EjbTimingAspect是Perf4j jar的一部分,它被添加到EAR (检查和确认)。
当然,和Websphere一样,我怀疑类加载问题(我们的应用程序使用parent first,更改它不是一个选项,因为它在过去造成了几个问题),但是在论坛或谷歌上找不到任何东西。
有人知道可能出了什么问题吗?没人?拜托,我肯定我不是唯一一个有这个问题的人!
发布于 2011-12-15 10:59:21
好吧,终于找到了答案。似乎仅在EJB层上添加依赖项POM是不够的,它们还需要在内部应用程序(WAR文件)中,尽管我只在EJB层中使用这个类.
哦,好吧,Websphere内部魔法又来了。
https://stackoverflow.com/questions/8493192
复制相似问题