是否有人成功使用带有签名罐的AspectJ加载时编织?
我有一个例外,不知道如何解决它(使用AspectJ 1.6.8-16.10测试):
Exception in thread "main" java.lang.NoClassDefFoundError: com/package/clazz$Ajcclosure1 at com.package.test.main(test.java:55) Caused by: java.lang.classNotFoundException: com.package.clazz$Ajcclosure1 at java.net.urlclassloader$1.run(UnkNown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.urlclassloader.findClass(UnkNown Source) at java.lang.classLoader.loadClass(UnkNown Source) at sun.misc.Launcher$AppClassLoader.loadClass(UnkNown Source) at java.lang.classLoader.loadClass(UnkNown Source) at java.lang.classLoader.loadClassInternal(UnkNown Source) ... 1 more
坦率地说,事件我不确定它是否在技术上可行,但我知道类似的问题(使用来自签名java类的动态生成的java代码)是为Hibernate项目完成的(即使用Javassist而不是cglib).细节是here.
解决方法
类似问题在
https://bugs.eclipse.org/bugs/show_bug.cgi?id=328099中描述并在AspectJ 1.6.12中修复. AspectJ有时会在编织过程中生成闭包类,并且必须使用与产生它们的jar相同的保护域来定义它们.在1.6.12.M1中,现在应该可以正常工作.
原文地址:https://www.jb51.cc/java/128654.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。