|How to Empty the Cache of Equinox Weaving [message #989513]
||Thu, 06 December 2012 14:51
| Helge Mising name
Registered: October 2010
I am using AspectJ and Equinox Weaving for load-time weaving. I have some issues with cached, woven byte code.
I am currently developing an aspect and I am experimenting with different pointcuts to which I apply advices. For example, I had a pointcut
private pointcut underWorkerRunner() : !within(Tracer) && cflowbelow(execution(public void run()));
which in a Tracer aspect advices all pointcuts in the control flow below Eclipse's org.eclipse.core.internal.jobs.Worker class. Now, after removing the pointcut specification and adding some others I get the following error when starting my Eclipse runtime instance:
[org.eclipse.equinox.weaving.caching] info starting standard caching service ...
Exception in thread "Worker-JM" java.lang.NoSuchFieldError: ajc$cflowCounter$0
Obviously, some code somewhere still advices the run method.
Here http://eclipse.org/aspectj/doc/released/README-170.html I found a comment on how to enable caching. I tried to turn it of by setting the VM argument of my run configuration aj.weaving.cache.enabled to false. But it does not change anything. My AspectJ related VM arguments are (-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook -Dorg.aspectj.osgi.verbose=true -Dorg.aspectj.weaver.showWeaveInfo=true -Daj.weaving.cache.enabled=false)
Did I forget to use another VM argument to clean the cache before the start of an Eclipse runtime instance? If not what do I have to do to clean the cache? For experimenting and early development I do not want equinox weaving caches enabled.
I am glad for any hint on where to find a solution to my problem.
[Updated on: Thu, 06 December 2012 14:52]
Report message to a moderator
Powered by FUDForum
. Page generated in 0.01602 seconds