Edward Chou wrote:
> Hi Paul,
>
> I am using a version of Glassfish that is packaging
> "jersey-bundle-1.0.3.1.jar" in the "glassfish/lib" directory.
> However, I am deploying a Jersey application that also packages a new
> version of "jersey-bundle-1.1.1-ea.jar" in its classpath. As a
> result, I am getting the below exception in the server.log about
> IllegalAccessException. If I remove the jersey-bundle.jar from the
> "glassfish/lib" directory, then I don't see this exception.
Hmm ... trying to mix revs of the same package is almost always going to
fail with problems like this.
>
> My question is, do you know anyway to get around this problem, without
> having to update/remove the "glassfish/lib" directory Jersey jar?
> Anyway to force my Jersey application to use the newer Jersey jar that
> is packaged in the application?
>
Have you tried just replacing the
glassfish/lib/jersey-bundle-1.0.3.1.jar with your
jersey-bundle-1.1.1-ea.jar, and then *not* including the Jersey jar in
your webapp? (No guarantees that you won't run into other
incompatibilities if Glassfish does not know how to deal with Jersey
1.1, but at least you won't have two versions of the same classes on the
classpath at the same time.)
Craig
> Thanks,
> Edward
>
> [#|2009-09-24T14:23:49.121-0700|SEVERE|sun-appserver2.1|com.sun.jersey.core.spi.component.ProviderFactory|_ThreadID=26;_ThreadName=http9696-WorkerThread(0);_RequestID=5eb1b7ea-6265-438c-9270-b01b9ea4b2e1;|The
> provider class, class
> com.sun.jersey.json.impl.provider.entity.JSONObjectProvider, could not
> be instantiated. Processing will continue but the class will not be
> utilized
> java.lang.IllegalAccessException: Class
> com.sun.jersey.core.spi.component.ComponentConstructor can not access
> a member of class
> com.sun.jersey.json.impl.provider.entity.JSONObjectProvider with
> modifiers ""
> at sun.reflect.Reflection.ensureMemberAccess(Reflection.java:65)
> at java.lang.Class.newInstance0(Class.java:349)
> at java.lang.Class.newInstance(Class.java:308)
> at
> com.sun.jersey.core.spi.component.ComponentConstructor._getInstance(ComponentConstructor.java:152)
>
> at
> com.sun.jersey.core.spi.component.ComponentConstructor.getInstance(ComponentConstructor.java:140)
>
> at
> com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:159)
>
> at
> com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:130)
>
> at
> com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:190)
>
> at
> com.sun.jersey.core.spi.component.ProviderServices.getProvidersAndServices(ProviderServices.java:120)
>
> at
> com.sun.jersey.core.spi.factory.MessageBodyFactory.initWriters(MessageBodyFactory.java:171)
>
> at
> com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:146)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:609)
>
> at
> com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:419)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:377)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:242)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:455)
>
> at
> com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:178)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:281)
>
> at
> com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:442)
>
> at javax.servlet.GenericServlet.init(GenericServlet.java:270)
> at
> com.sun.grizzly.http.servlet.ServletAdapter.loadServlet(ServletAdapter.java:327)
>
> at
> com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:268)
>
> at
> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:165)
>
> at
> com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:185)
>
> at
> com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:165)
>
> at
> com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:726)
> at
> com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:615)
> at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:895)
> at
> com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:162)
>
> at
> com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:136)
>
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:103)
>
> at
> com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:89)
>
> at
> com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
> at
> com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:67)
>
> at
> com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
>
> at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
> at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
>
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
>
> at java.lang.Thread.run(Thread.java:619)
> |#]
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_jersey.dev.java.net
> For additional commands, e-mail: dev-help_at_jersey.dev.java.net
>