Pregunta

éxito alguno hubiere en el uso de AspectJ en tiempo de carga de tejido con frascos firmados?

Tengo una excepción y no tienen idea de cómo solucionarlo (probado con 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

Francamente caso de que no está seguro si es técnicamente posible, pero sé que problema similar (utilizando el código Java generado dinámicamente a partir de clases de Java con firma) se realizó para el proyecto de Hibernate (es decir, usando Javassist en lugar de CGLIB). Los detalles se aquí .

¿Fue útil?

Solución

El problema simular se describe en https://bugs.eclipse.org/ insectos / show_bug.cgi? id = 328099 y se fijaron en AspectJ 1.6.12. AspectJ veces genera clases de cierre durante el tejido y estos se debe definir con el mismo dominio de protección que el frasco que les dio origen. En 1.6.12.M1 esto ahora debería funcionar correctamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top