I think the best way to fix this is to provide some generic class scanning
from the classloading module.
Only it has all the information about what is really in the classloader
e.g. it isn't necessarily everything reachable from the vfs roots, especially
when there is "subdeployment" within one of those roots.
Also there should be a way for other annotation parsers to plugin to the process
such that it is only done once rather repeating the task of parsing annotations
e.g. ejb3, servlet, webservices, aop, pojo, (jmx in future?), etc.
and creating the metadata such that some other deployer can potentially override it
Ales already has an open issue to create a generic annotation parsing deployer
2) With AOP there is also an in memory virtual file to store classes
that AOP has weaved. I think this is going to lead to the classes getting
processed twice? Once using the non-weaved version then using the
Which brings up another unrelated issue in that at the moment,
I believe the in memory virtual file is after the unweaved virtual file in the classpath?
AFAICR only new classes that did not exist before are added to the memory virtual file. Existing classes are not, so they should just be processed once. I'll take a better look if you want me to