Jean-Noel Rouvignac created JCLOUDS-1620:
--------------------------------------------

             Summary: jclouds is not compatible with gson 2.9.0
                 Key: JCLOUDS-1620
                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1620
             Project: jclouds
          Issue Type: Bug
          Components: jclouds-core
    Affects Versions: 2.5.0
            Reporter: Jean-Noel Rouvignac
            Assignee: Andrew Gaul


{\{ConstructorConstructor}} is an internal class which changed in 2.9.0, 
evolving the \{{ConstructorConstructor(Map)}} constructor into 
\{{ConstructorConstructor(Map, boolean, List)}}.
See 
https://github.com/google/gson/commit/615c8835d309e1be512dd98809b48332ce70250d#diff-f5e0b2c1d134138db96a9ce7fe5c670c85e512c70d12a5180cbdbcf424d3f7d7
 and 
https://github.com/google/gson/commit/e82637c4856b026f1ff2575c5e3d60c516391b79#diff-f5e0b2c1d134138db96a9ce7fe5c670c85e512c70d12a5180cbdbcf424d3f7d7
 .

Here is the resulting stacktrace:

{noformat}
java.lang.NoSuchMethodError: 'void 
com.google.gson.internal.ConstructorConstructor.<init>(java.util.Map)'
      at org.jclouds.json.config.GsonModule.provideGson(GsonModule.java:130)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
      at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      at 
com.google.inject.internal.ProviderMethod$ReflectionProviderMethod.doProvision(ProviderMethod.java:286)
      at 
com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:173)
      at 
com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
      at 
com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
      at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at 
com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
      at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
      at 
com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
      at 
com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
      at 
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
      at 
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
      at 
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
      at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at 
com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
      at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
      at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
      at 
com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
      at 
com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
      at 
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
      at 
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
      at 
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
      at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at 
com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
      at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
      at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
      at 
com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
      at 
com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
      at 
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
      at 
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
      at 
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
      at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at 
com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
      at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
      at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
      at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1050)
      at 
com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1081)
      at 
org.jclouds.providers.config.BindProviderMetadataContextAndCredentials.backend(BindProviderMetadataContextAndCredentials.java:84)
      at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native 
Method)
      at 
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at 
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:566)
      at 
com.google.inject.internal.ProviderMethod$ReflectionProviderMethod.doProvision(ProviderMethod.java:286)
      at 
com.google.inject.internal.ProviderMethod.doProvision(ProviderMethod.java:173)
      at 
com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.provision(InternalProviderInstanceBindingImpl.java:185)
      at 
com.google.inject.internal.InternalProviderInstanceBindingImpl$CyclicFactory.get(InternalProviderInstanceBindingImpl.java:162)
      at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at 
com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
      at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
      at 
com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
      at 
com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
      at 
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
      at 
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
      at 
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
      at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at 
com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
      at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
      at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
      at 
com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:42)
      at 
com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:65)
      at 
com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:113)
      at 
com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91)
      at 
com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:306)
      at 
com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40)
      at 
com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:168)
      at 
com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:39)
      at com.google.inject.internal.FactoryProxy.get(FactoryProxy.java:62)
      at 
com.google.inject.internal.InternalInjectorCreator.loadEagerSingletons(InternalInjectorCreator.java:211)
      at 
com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:182)
      at 
com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:109)
      at com.google.inject.Guice.createInjector(Guice.java:87)
      at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:405)
      at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:328)
      at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:615)
      at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:595)
{noformat}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to