2011-05-26 57 views
0

使用AspectJ和CDI时出现此错误。CDI Weld和AspectJ - org.jboss.weld.exceptions.UnproxyableResolutionException

org.jboss.weld.exceptions.UnproxyableResolutionException: WELD-001437正常范围的bean类 myPackageName.myClassName不 proxyable因为类型为最终或 它包含了最终的方法静态 最后的java.lang .String myPackageName.myClassName.myMethodName_aroundBody0(myPackageName.myClassName。,org.aspectj.lang.JoinPoint)。

如果我删除AspectJ它的作品,但我不想这样。请帮忙。

+0

我可以告诉你为什么会发生这种情况,但我不能给你一个解决方案。有一些周围的建议被应用于myClassName。周围的建议会将静态最终方法放在字节码中。此方法使您的类无法进行代理。最好的建议是发送一条消息到AspectJ用户邮件列表。 – 2011-05-27 03:49:15

+1

链接到邮件列表:http://eclipse.org/aspectj/userlists.php – 2011-05-27 03:49:26

+0

我也想到了。感谢您的链接。 – 2011-05-27 09:49:56

回答

1

我从AspectJ的邮件列表中得到了一个答案,他们建议在方法应该是最终的时候添加一个编译时标志作为解决方法。谢谢。

+0

你有没有找到任何帮助过的国旗? – 2016-02-25 07:36:57