Community
Participate
Working Groups
Hi, After installing AJDT 2.1.2 I've encountered the following exception upon Eclipse restart: org.aspectj.weaver.BCException: Unable to continue, this version of AspectJ supports classes built with weaver version 6.0 but the class org.eclipse.contribution.jdt.IsWovenTester is version 7.0 at org.aspectj.weaver.bcel.Utility.readAjAttributes(Utility.java:83) at org.aspectj.weaver.bcel.BcelObjectType.ensureAspectJAttributesUnpacked(BcelObjectType.java:355) at org.aspectj.weaver.bcel.BcelObjectType.<init>(BcelObjectType.java:146) at org.aspectj.weaver.bcel.BcelWorld.buildBcelDelegate(BcelWorld.java:371) at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:366) at org.aspectj.weaver.ltw.LTWWorld.resolveDelegate(LTWWorld.java:107) at org.aspectj.weaver.World.resolveToReferenceType(World.java:384) at org.aspectj.weaver.World.resolve(World.java:278) at org.aspectj.weaver.bcel.BcelWeaver.addLibraryAspect(BcelWeaver.java:158) at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerAspects(ClassLoaderWeavingAdaptor.java:432) at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.registerDefinitions(ClassLoaderWeavingAdaptor.java:267) at org.aspectj.weaver.loadtime.ClassLoaderWeavingAdaptor.initialize(ClassLoaderWeavingAdaptor.java:159) at org.eclipse.equinox.weaving.aspectj.loadtime.OSGiWeavingAdaptor.initialize(Unknown Source) at org.eclipse.equinox.weaving.aspectj.AspectJWeavingService.ensureAdaptorInit(Unknown Source) at org.eclipse.equinox.weaving.aspectj.AspectJWeavingService.preProcess(Unknown Source) at org.eclipse.equinox.weaving.adaptors.WeavingAdaptor.weaveClass(Unknown Source) at org.eclipse.equinox.weaving.hooks.WeavingHook.processClass(Unknown Source) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.defineClass(ClasspathManager.java:575) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findClassImpl(ClasspathManager.java:550) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClassImpl(ClasspathManager.java:481) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass_LockClassLoader(ClasspathManager.java:469) at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:449) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216) at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:393) at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:469) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:422) at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:410) at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) at java.lang.ClassLoader.loadClass(ClassLoader.java:248) at org.eclipse.osgi.internal.loader.BundleLoader.loadClass(BundleLoader.java:338) at org.eclipse.osgi.framework.internal.core.BundleHost.loadClass(BundleHost.java:232) at org.eclipse.osgi.framework.internal.core.AbstractBundle.loadClass(AbstractBundle.java:1197) at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:174) at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:904) at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:243) at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:55) at org.eclipse.jdt.core.JavaCore.computeClasspathContainerInitializer(JavaCore.java:2752) at org.eclipse.jdt.core.JavaCore.getClasspathContainerInitializer(JavaCore.java:2728) at org.eclipse.jdt.internal.core.JavaModelManager.initializeContainer(JavaModelManager.java:2688) at org.eclipse.jdt.internal.core.JavaModelManager$11.run(JavaModelManager.java:2613) at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1975) at org.eclipse.jdt.internal.core.JavaModelManager.initializeAllContainers(JavaModelManager.java:2653) at org.eclipse.jdt.internal.core.JavaModelManager.getClasspathContainer(JavaModelManager.java:1845) at org.eclipse.jdt.core.JavaCore.initializeAfterLoad(JavaCore.java:3463) at org.eclipse.jdt.internal.ui.InitializeAfterLoadJob$RealJob.run(InitializeAfterLoadJob.java:35) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) Thanks. Setya
Can you take a look at your plugins folder? Look for the org.eclipse.equinox.weaving.aspectj*.jar bundle. What is the full version number there? Do you have ScalaIDE installed by any chance?
Hi, > Can you take a look at your plugins folder? Look for the > org.eclipse.equinox.weaving.aspectj*.jar bundle. What is the full version > number there? It's 'org.eclipse.equinox.weaving.aspectj_1.0.0.v20100108.jar' > Do you have ScalaIDE installed by any chance? No Setya
You must have somehow gotten a version of org.eclipse.equinox.weaving.aspectj that was compiled under an older version of AspectJ. Can you try this: 1. Uninstall AJDT 2. Open your Install manager (Help -> Install new software) 3. *Uncheck* Contact all update sites... 4. Reinstall AJDT This should ensure that you get the most recent AJDT and that you only get components from the specified update site. Please let me know if this is working for you.
Hi, I've tried your suggestion, initially the problem persisted, but then I realized that some projects contained old Aspectj weaver from Spring, so I replace it with the latest one and the problem is gone. I could not reproduce it ever since. Thanks, Setya
Thanks for the reply. I am closing this bug, but feel free to re-open if you see the problem again. Resolving as invalid because the problem was not caused by AspectJ or AJDT.
Hi, I'm still experiencing this issue every now and then even after using the latest aspectjweaver.jar in my project. Regards, Setya
Hi Setya, if you have moved to a new version, can I check the message and stack trace are the same as they were? What version of the equinox weaving plugin do you have now?
Hi, I've tried AJDT with Indigo. It seems the problem is gone, instead I've got lots of messages: [org.eclipse.ajdt.ui] error can't determine superclass of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor [Xlint:cantFindType] [org.eclipse.ajdt.ui] error can't determine superclass of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor [Xlint:cantFindType] [org.eclipse.ajdt.ui] error can't determine modifiers of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor when processing type mungers org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction when processing type mungers when weaving [Xlint:cantFindType] [org.eclipse.ajdt.ui] error can't determine modifiers of missing type org.eclipse.jdt.internal.junit.launcher.JUnit4TestFinder$AnnotationSearchRequestor when processing type mungers org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction when processing type mungers when weaving [Xlint:cantFindType] [org.eclipse.ajdt.ui] error at org/eclipse/ajdt/internal/ui/actions/AddAJNatureAction.java::0 class 'org.eclipse.ajdt.internal.ui.actions.AddAJNatureAction' is already woven and has not been built in reweavable mode [org.eclipse.ajdt.ui] error at org/eclipse/ajdt/internal/ui/actions/RemoveAJNatureAction.java::0 class 'org.eclipse.ajdt.internal.ui.actions.RemoveAJNatureAction' is already woven and has not been built in reweavable mode [org.eclipse.ajdt.ui] error at org/eclipse/ajdt/internal/buildpath/SaveBCAction.java::0 class 'org.eclipse.ajdt.internal.buildpath.SaveBCAction' is already woven and has not been built in reweavable mode With Helios, I've tried AJDT that comes with Spring's STS, since then it frequently throws : Exception in thread "Queueing Thread (Spring UAA/1.0.2)" java.lang.OutOfMemoryError: PermGen space Setya
The 'cant find type' messages are 'normal' (irritating but normal) when jdt weaving is running. Maybe increase the permgen for helios based STS if you need to? I can't recall the defaults but they can be seen and modified in the STS.ini file, I typically run 384m permgen.