users@jersey.java.net

Re: [Jersey] Bizarre stack trace with jersey-client

From: Paul Sandoz <Paul.Sandoz_at_Sun.COM>
Date: Wed, 27 Aug 2008 09:26:31 +0200

Hi Craig,

That is indeed odd. I did a quick search for
"java.lang.ClassFormatError: Absent Code attribute" and found this:

   http://forums.java.net/jive/message.jspa?messageID=226931

   "I was using the maven artifacts which are seriously stubbed jars.
They only let you compile, not link runtime."

I wonder if it is the same issue?

Note that the client side does not perform any class scanning.
However, it does attempt to load components declared in META-INF/
services and i am guessing it is hitting a problem loading the
message body readers/writers for the MimeMultipart type.

What dependency on JavaMail have you declared?

Paul.

On Aug 27, 2008, at 12:46 AM, Craig McClanahan wrote:

> I'm trying to set up my first unit test using jersey-client (0.10-
> SNAPSHOT, today's code). The Client.create() call throws a really
> strange exception, presumably from some problem with a classpath
> scan. This is on a Mac (with JDK 1.5), so that might well be
> related. Any ideas?
>
> Craig
>
> ----------------------------------------------------------------------
> ---------
> Test set: com.example.ItemsTestCase
> ----------------------------------------------------------------------
> ---------
> Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed:
> 0.107 sec <<< FAILURE!
> testTruth(com.example.ItemsTestCase) Time elapsed: 0.072 sec <<<
> ERROR!
> java.lang.ClassFormatError: Absent Code attribute in method that is
> not native or abstract in class file javax/mail/MessagingException
> at java.lang.ClassLoader.defineClass1(Native Method)
> at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
> at java.security.SecureClassLoader.defineClass
> (SecureClassLoader.java:124)
> at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
> at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
> at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
> at java.security.AccessController.doPrivileged(Native Method)
> at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
> at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:
> 268)
> at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
> at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:
> 319)
> at java.lang.Class.forName0(Native Method)
> at java.lang.Class.forName(Class.java:242)
> at com.sun.jersey.spi.service.ServiceFinder
> $AbstractLazyIterator.hasNext(ServiceFinder.java:544)
> at com.sun.jersey.spi.service.ServiceFinder.toClassArray
> (ServiceFinder.java:400)
> at
> com.sun.jersey.impl.application.ComponentProviderCache.getServiceClass
> es(ComponentProviderCache.java:246)
> at
> com.sun.jersey.impl.application.ComponentProviderCache.getProviderAndS
> erviceClasses(ComponentProviderCache.java:233)
> at
> com.sun.jersey.impl.application.ComponentProviderCache.getProvidersAnd
> Services(ComponentProviderCache.java:121)
> at
> com.sun.jersey.impl.application.MessageBodyFactory.getProviderMap
> (MessageBodyFactory.java:133)
> at
> com.sun.jersey.impl.application.MessageBodyFactory.initReaders
> (MessageBodyFactory.java:107)
> at com.sun.jersey.impl.application.MessageBodyFactory.init
> (MessageBodyFactory.java:102)
> at com.sun.jersey.api.client.Client.<init>(Client.java:279)
> at com.sun.jersey.api.client.Client.<init>(Client.java:203)
> at com.sun.jersey.api.client.Client.create(Client.java:424)
> at com.example.ItemsTestCase.setUp(ItemsTestCase.java:23)
> at junit.framework.TestCase.runBare(TestCase.java:128)
> at junit.framework.TestResult$1.protect(TestResult.java:106)
> at junit.framework.TestResult.runProtected(TestResult.java:124)
> at junit.framework.TestResult.run(TestResult.java:109)
> at junit.framework.TestCase.run(TestCase.java:120)
> at junit.framework.TestSuite.runTest(TestSuite.java:230)
> at junit.framework.TestSuite.run(TestSuite.java:225)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at org.apache.maven.surefire.junit.JUnitTestSet.execute
> (JUnitTestSet.java:213)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTest
> Set(AbstractDirectoryTestSuite.java:140)
> at
> org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute
> (AbstractDirectoryTestSuite.java:127)
> at org.apache.maven.surefire.Surefire.run(Surefire.java:177)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke
> (NativeMethodAccessorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke
> (DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess
> (SurefireBooter.java:338)
> at org.apache.maven.surefire.booter.SurefireBooter.main
> (SurefireBooter.java:997)
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: users-help_at_jersey.dev.java.net
>