class loader error: ClassFormatError

158 views
Skip to first unread message

Robert Blumen

unread,
Jan 26, 2010, 9:22:33 PM1/26/10
to PowerMock
I am having difficulty using PowerMock. Any suggestions would be
appreciated.

I set up a PowerMock mockStatic using

@RunWith(PowerMockRunner.class)
@PrepareForTest(Interview.class)

and ran the test.

Some of the the classes were generated by Spring ROO and make heavy
use of Aspect J inter-type declarations. However, the class that is
blowing up is an interface. I am using AspectJ and have build-time
waving turned on.

Here is the stack trace.

java.lang.ClassFormatError: Illegal class modifiers in class com/
wisemuv/interview/entity/InterviewResponseValue: 0x621
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at org.powermock.core.classloader.MockClassLoader.loadMockClass
(MockClassLoader.java:211)
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass
(MockClassLoader.java:146)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass
(DeferSupportingClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.lang.ClassLoader.defineClass(ClassLoader.java:465)
at org.powermock.core.classloader.MockClassLoader.loadUnmockedClass
(MockClassLoader.java:190)
at org.powermock.core.classloader.MockClassLoader.loadModifiedClass
(MockClassLoader.java:148)
at org.powermock.core.classloader.DeferSupportingClassLoader.loadClass
(DeferSupportingClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
at java.lang.Class.privateGetPublicMethods(Class.java:2547)
at java.lang.Class.getMethods(Class.java:1410)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.getTestMethods
(PowerMockJUnit44RunnerDelegateImpl.java:108)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.<init>
(PowerMockJUnit44RunnerDelegateImpl.java:84)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit47RunnerDelegateImpl.<init>
(PowerMockJUnit47RunnerDelegateImpl.java:42)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance
(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader
(JUnit4TestSuiteChunkerImpl.java:149)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.createDelegatorFromClassloader
(JUnit4TestSuiteChunkerImpl.java:49)
at
org.powermock.tests.utils.impl.AbstractTestSuiteChunkerImpl.createTestDelegators
(AbstractTestSuiteChunkerImpl.java:231)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.<init>
(JUnit4TestSuiteChunkerImpl.java:69)
at
org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.<init>
(AbstractCommonPowerMockRunner.java:34)
at org.powermock.modules.junit4.PowerMockRunner.<init>
(PowerMockRunner.java:27)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance
(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner
(AnnotatedBuilder.java:31)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass
(AnnotatedBuilder.java:24)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass
(RunnerBuilder.java:57)
at
org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass
(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass
(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner
(ClassRequest.java:24)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>
(JUnit4TestReference.java:29)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>
(JUnit4TestClassReference.java:25)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest
(JUnit4TestLoader.java:40)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests
(JUnit4TestLoader.java:30)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests
(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run
(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main
(RemoteTestRunner.java:197)

Johan Haleby

unread,
Feb 2, 2010, 2:26:56 PM2/2/10
to powe...@googlegroups.com
Hi,

Could you try if you get the same error using Javassist 3.11 instead of 3.10?  Are you using the latest PowerMock (1.3.5)? 

/Johan


--
You received this message because you are subscribed to the Google Groups "PowerMock" group.
To post to this group, send email to powe...@googlegroups.com.
To unsubscribe from this group, send email to powermock+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/powermock?hl=en.


Mike

unread,
Mar 18, 2010, 8:51:01 PM3/18/10
to PowerMock
I am having the same problem. Using powermock 1.3.5 and not using
spring. The interface its choking on is my own.


java.lang.ClassFormatError: Illegal class modifiers in class com/

liveops/integration/util/LOIntegrationServiceSetter: 0x621
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:698)
at java.lang.ClassLoader.defineClass(ClassLoader.java:544)
at
org.powermock.core.classloader.MockClassLoader.loadMockClass(MockClassLoader.java:
211)
at
org.powermock.core.classloader.MockClassLoader.loadModifiedClass(MockClassLoader.java:
146)
at
org.powermock.core.classloader.DeferSupportingClassLoader.loadClass(DeferSupportingClassLoader.java:
63)
at java.lang.ClassLoader.loadClass(ClassLoader.java:250)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:398)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:247)
at
sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:
95)
at
sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:
107)
at
sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:
31)
at
sun.reflect.annotation.AnnotationParser.parseSig(AnnotationParser.java:
370)
at
sun.reflect.annotation.AnnotationParser.parseClassValue(AnnotationParser.java:
351)
at
sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:
653)
at
sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:
460)
at
sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:
286)
at
sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:
222)
at
sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:
69)
at
sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:
52)
at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
at java.lang.Class.getAnnotations(Class.java:3050)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.classAnnotations(PowerMockJUnit44RunnerDelegateImpl.java:
178)
at
org.powermock.modules.junit4.internal.impl.PowerMockJUnit44RunnerDelegateImpl.getDescription(PowerMockJUnit44RunnerDelegateImpl.java:
170)
at
org.powermock.modules.junit4.common.internal.impl.JUnit4TestSuiteChunkerImpl.getDescription(JUnit4TestSuiteChunkerImpl.java:
173)
at
org.powermock.modules.junit4.common.internal.impl.AbstractCommonPowerMockRunner.getDescription(AbstractCommonPowerMockRunner.java:
50)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.sendTree(JUnit4TestClassReference.java:
38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.sendTrees(RemoteTestRunner.java:
476)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
464)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:
683)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:
390)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:
197)


The interface in question is quite simple:

package com.liveops.integration.util;

public interface LOIntegrationServiceSetter {
void setService(Class<?> serviceClass, Object serviceInstance);
void clearService(Class<?> serviceClass);
}

Reply all
Reply to author
Forward
0 new messages