Question

Quelqu'un succès dans l'utilisation de tissage charge en temps AspectJ avec des pots signés?

J'ai une exception et ne savent pas comment le réparer (testé avec 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

Franchement événement, je ne sais pas si cela est techniquement possible, mais je sais que cette question similaire (en utilisant le code java généré dynamiquement à partir des classes signées java) a été fait pour le projet Mise en veille prolongée (à savoir l'aide Javassist au lieu de CGLIB). Plus de détails en .

Était-ce utile?

La solution

Le problème Simular est décrit dans https://bugs.eclipse.org/ bugs / show_bug.cgi? id = 328099 et fixe dans AspectJ 1.6.12. AspectJ génère parfois des cours de fermeture pendant le tissage et ceux-ci doivent être définis avec le même domaine de protection que le pot qui leur a donné naissance. En 1.6.12.M1 cela devrait maintenant fonctionner correctement.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top