[ 
https://issues.apache.org/jira/browse/JCLOUDS-1169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15455496#comment-15455496
 ] 

Ignasi Barrera commented on JCLOUDS-1169:
-----------------------------------------

Are you using jclouds in an OSGi environment? Is your application enforcing a 
particular version of Gson?

In an attempt to fix JCLOUDS-1160 we upraded Gson to 2.7 in the latest 
snapshot, but that breaks OSGi, as some internal packages of Gson that jclouds 
uses are no longer exported. The change has not been reverted yet, as it is 
still being discussed. See: http://markmail.org/message/vhmqdhbkxaj6zalk

> Code crashes at ContextBuilder for Apis. I have been using jclouds daily 
> build(2.0.0-SNAPSHOT). But since 30th of august , APIs have stopped working. 
> Basically the code crashes at context builder for Apis like glanceAPI.
> ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: JCLOUDS-1169
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1169
>             Project: jclouds
>          Issue Type: Bug
>          Components: jclouds-core
>    Affects Versions: 2.0.0
>            Reporter: Siddarth Rai
>            Priority: Blocker
>              Labels: beginner, maven, newbie
>
> I have been using jclouds daily build. But since 30th of august , APIs have 
> stopped working. Basically the code crashes at context builder for Apis like 
> glanceAPI. 
> I don't have the logs yet. But just wanted to know if it is known issue?
> Has the implementation changed?
> Is there a way i can use older libraries from version 2.0.0-SNAPSHOT only but 
> which were available before 29th of august? 
> The code for context builder looks something like this 
> GlanceApi glanceApi = ContextBuilder.newBuilder(new 
> GlanceApiMetadata()).endpoint("http://"; + endpointIp + ":" + identityPort + 
> "/" + identityVersion + 
> "/").credentials(identity,password).buildApi(GlanceApi.class);
> I am using openstack LIBERTY
> Here is the stack trace:
> Caused by: java.lang.NoSuchMethodError: 
> com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.<init>(Lcom/google/gson/internal/ConstructorConstructor;Lcom/google/gson/FieldNamingStrategy;Lcom/google/gson/internal/Excluder;Lcom/google/gson/internal/bind/JsonAdapterAnnotationTypeAdapterFactory;)V
>       at 
> org.jclouds.json.internal.DeserializationConstructorAndReflectiveTypeAdapterFactory.<init>(DeserializationConstructorAndReflectiveTypeAdapterFactory.java:118)
>       at org.jclouds.json.config.GsonModule.provideGson(GsonModule.java:130)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:497)
>       at 
> com.google.inject.internal.ProviderMethod.get(ProviderMethod.java:104)
>       at 
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>       at 
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>       at 
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
>       at 
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>       at com.google.inject.Scopes$1$1.get(Scopes.java:65)
>       at 
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>       at 
> com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38)
>       at 
> com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62)
>       at 
> com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:84)
>       at 
> com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:254)
>       at 
> com.google.inject.internal.ProviderToInternalFactoryAdapter$1.call(ProviderToInternalFactoryAdapter.java:46)
>       at 
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1031)
>       at 
> com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
>       at com.google.inject.Scopes$1$1.get(Scopes.java:65)
>       at 
> com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40)
>       at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:54)
>       at 
> com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:204)
>       at 
> com.google.inject.internal.InternalInjectorCreator$1.call(InternalInjectorCreator.java:198)
>       at 
> com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024)
>       at 
> com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:198)
>       at 
> com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:179)
>       at 
> com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
>       at com.google.inject.Guice.createInjector(Guice.java:95)
>       at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:404)
>       at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:327)
>       at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java:650)
>       at org.jclouds.ContextBuilder.buildApi(ContextBuilder.java:642)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to