2013-09-25 13 views
9

Dostałem Jackson 2.2.3 w mojej ścieżce, ale wciąż dostaję ten błąd. ktoś wie dlaczego?java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonSerializableWithType

enter image description here

com.sun.jersey.core.spi.component.ProviderFactory __getComponentProvider: The provider class, class com.sun.jersey.json.impl.provider.entity.JSONWithPaddingProvider, could not be instantiated. Processing will continue but the class will not be utilized 
java.lang.SecurityException: Unable to get members for class com.sun.jersey.json.impl.provider.entity.JSONWithPaddingProvider 
    at com.google.appengine.runtime.Request.process-244548b7ddf4520b(Request.java) 
    at java.lang.Class.getDeclaredMethods(Class.java:256) 
    at com.sun.jersey.core.reflection.MethodList.getAllDeclaredMethods(MethodList.java:70) 
    at com.sun.jersey.core.reflection.MethodList.<init>(MethodList.java:64) 
    at com.sun.jersey.core.spi.component.ComponentConstructor.getPostConstructMethods(ComponentConstructor.java:131) 
    at com.sun.jersey.core.spi.component.ComponentConstructor.<init>(ComponentConstructor.java:123) 
    at com.sun.jersey.core.spi.component.ProviderFactory.__getComponentProvider(ProviderFactory.java:165) 
    at com.sun.jersey.core.spi.component.ProviderFactory.getComponentProvider(ProviderFactory.java:137) 
    at com.sun.jersey.core.spi.component.ProviderServices.getComponent(ProviderServices.java:256) 
    at com.sun.jersey.core.spi.component.ProviderServices.getServices(ProviderServices.java:160) 
    at com.sun.jersey.core.spi.factory.MessageBodyFactory.initWriters(MessageBodyFactory.java:207) 
    at com.sun.jersey.core.spi.factory.MessageBodyFactory.init(MessageBodyFactory.java:163) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl._initiate(WebApplicationImpl.java:1277) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.access$700(WebApplicationImpl.java:169) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:775) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl$13.f(WebApplicationImpl.java:771) 
    at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:193) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:771) 
    at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:766) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:488) 
    at com.sun.jersey.spi.container.servlet.ServletContainer$InternalWebComponent.initiate(ServletContainer.java:318) 
    at com.sun.jersey.spi.container.servlet.WebComponent.load(WebComponent.java:609) 
    at com.sun.jersey.spi.container.servlet.WebComponent.init(WebComponent.java:210) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:373) 
    at com.sun.jersey.spi.container.servlet.ServletContainer.init(ServletContainer.java:556) 
    at javax.servlet.GenericServlet.init(GenericServlet.java:212) 
    at org.mortbay.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:440) 
    at org.mortbay.jetty.servlet.ServletHolder.doStart(ServletHolder.java:263) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at org.mortbay.jetty.servlet.ServletHandler.initialize(ServletHandler.java:685) 
    at org.mortbay.jetty.servlet.Context.startContext(Context.java:140) 
    at org.mortbay.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250) 
    at org.mortbay.jetty.handler.ContextHandler.doStart(ContextHandler.java:517) 
    at org.mortbay.jetty.webapp.WebAppContext.doStart(WebAppContext.java:467) 
    at org.mortbay.component.AbstractLifeCycle.start(AbstractLifeCycle.java:50) 
    at com.google.tracing.TraceContext$TraceContextRunnable.runInContext(TraceContext.java:435) 
    at com.google.tracing.TraceContext$TraceContextRunnable$1.run(TraceContext.java:442) 
    at com.google.tracing.CurrentContext.runInContext(CurrentContext.java:186) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContextNoUnref(TraceContext.java:306) 
    at com.google.tracing.TraceContext$AbstractTraceContextCallback.runInInheritedContext(TraceContext.java:298) 
    at com.google.tracing.TraceContext$TraceContextRunnable.run(TraceContext.java:439) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    ... 41 more 
Caused by: java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonSerializableWithType 
    at com.google.appengine.runtime.Request.process-244548b7ddf4520b(Request.java) 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClass(ClassLoader.java:794) 
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) 
    at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source) 
    ... 43 more 
Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonSerializableWithType 
    at com.google.appengine.runtime.Request.process-244548b7ddf4520b(Request.java) 
    ... 41 more 

Odpowiedz

8

Trzeba dodać jackson-mapper-asl w ścieżce klas.

Można go znaleźć here

+0

W nieco podobnym błędem, choć mam Jackson-mapper-ASL-1.9.2.jar w mojej ścieżce klasy pojawia się podobny błąd, Więcej szczegółów można znaleźć na stronie http://stackoverflow.com/questions/39454052/noclassdeffounderror-in-jboss-eap6-4 – rajadilipkolli

13

Wyjątek wskazuje, że niektóre inne biblioteki lub ramy używa Jackson 1.x i wymaga słoiki 1.x. Korzystasz z Jackson 2.x, których klasy znajdują się w pakiecie com.fasterxml.jackson; ale jak na wyjątek, potrzebne są te w org.codehaus.jackson.

+3

To prawdopodobnie powinna być poprawna odpowiedź. Jedną z przyczyn tego błędu może być nieprawidłowe zdefiniowanie importu, np. podczas * organizowania importu * w czasie zaćmienia. –

3

Nawet jeśli ustawisz ścieżkę budowania, musisz dodać ścieżkę klas podczas wykonywania. Sprawdź się montaż wdrażania w Eclipse

Deployment Assembly

Powiązane problemy