Hi Avanti,

As Aled suggested, it seems to be a dependency problem.

How are you running the code? And which version of the Guava dependency is
in your app classpath?

I.
El 07/03/2014 07:40, "Avanti Ajay" <[email protected]> escribió:

> HI..
>
> This is the stacktrace of the exception Im getting..
>
> Exception in thread "main"
> com.google.common.util.concurrent.ExecutionError:
> com.google.common.util.concurrent.ExecutionError:
> com.google.common.util.concurrent.ExecutionError:
> java.lang.NoSuchMethodError:
> com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
>     at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
>     at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
>     at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
>     at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:121)
>     at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.getInstanceOfTypeWithQualifier(DelegatesToInvocationFunction.java:261)
>     at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.lookupValueFromGuice(DelegatesToInvocationFunction.java:218)
>     at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:152)
>     at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
>     at com.sun.proxy.$Proxy54.getConfiguredZones(Unknown Source)
>     at JCloudsOpenStack.init(JCloudsOpenStack.java:55)
>     at JCloudsOpenStack.main(JCloudsOpenStack.java:25)
> Caused by: com.google.common.util.concurrent.ExecutionError:
> com.google.common.util.concurrent.ExecutionError:
> java.lang.NoSuchMethodError:
> com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
>     at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
>     at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
>     at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
>     at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.get(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:121)
>     at
> org.jclouds.location.suppliers.derived.ZoneIdsFromZoneIdToURIKeySet.get(ZoneIdsFromZoneIdToURIKeySet.java:46)
>     at
> org.jclouds.location.suppliers.derived.ZoneIdsFromZoneIdToURIKeySet.get(ZoneIdsFromZoneIdToURIKeySet.java:34)
>     at
> com.google.common.base.Suppliers$SupplierComposition.get(Suppliers.java:67)
>     at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:75)
>     at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:59)
>     at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
>     at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
>     at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
>     ... 11 more
> Caused by: com.google.common.util.concurrent.ExecutionError:
> java.lang.NoSuchMethodError:
> com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2199)
>     at com.google.common.cache.LocalCache.get(LocalCache.java:3934)
>     at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:3938)
>     at
> com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:4821)
>     at
> com.google.common.cache.LocalCache$LocalLoadingCache.getUnchecked(LocalCache.java:4827)
>     at
> org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:234)
>     at
> org.jclouds.openstack.keystone.v2_0.config.KeystoneAuthenticationModule$2.get(KeystoneAuthenticationModule.java:231)
>     at
> org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:95)
>     at
> org.jclouds.openstack.keystone.v2_0.suppliers.LocationIdToURIFromAccessForTypeAndVersion.get(LocationIdToURIFromAccessForTypeAndVersion.java:54)
>     at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:75)
>     at
> org.jclouds.rest.suppliers.MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier$SetAndThrowAuthorizationExceptionSupplierBackedLoader.load(MemoizedRetryOnTimeOutButNotOnAuthorizationExceptionSupplier.java:59)
>     at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
>     at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
>     at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
>     ... 24 more
> Caused by: java.lang.NoSuchMethodError:
> com.google.common.io.Closeables.closeQuietly(Ljava/io/Closeable;)V
>     at org.jclouds.io.payloads.BasePayload.writeTo(BasePayload.java:79)
>     at
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.writePayloadToConnection(JavaUrlHttpCommandExecutorService.java:293)
>     at
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:208)
>     at
> org.jclouds.http.internal.JavaUrlHttpCommandExecutorService.convert(JavaUrlHttpCommandExecutorService.java:72)
>     at
> org.jclouds.http.internal.BaseHttpCommandExecutorService.invoke(BaseHttpCommandExecutorService.java:140)
>     at
> org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.invoke(InvokeSyncToAsyncHttpMethod.java:129)
>     at
> org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:95)
>     at
> org.jclouds.rest.internal.InvokeSyncToAsyncHttpMethod.apply(InvokeSyncToAsyncHttpMethod.java:56)
>     at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.handle(DelegatesToInvocationFunction.java:156)
>     at
> org.jclouds.rest.internal.DelegatesToInvocationFunction.invoke(DelegatesToInvocationFunction.java:123)
>     at
> com.sun.proxy.$Proxy53.authenticateWithTenantNameAndCredentials(Unknown
> Source)
>     at
> org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:43)
>     at
> org.jclouds.openstack.keystone.v2_0.functions.AuthenticatePasswordCredentials.authenticateWithTenantName(AuthenticatePasswordCredentials.java:31)
>     at
> org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:79)
>     at
> org.jclouds.openstack.keystone.v2_0.functions.internal.BaseAuthenticator.apply(BaseAuthenticator.java:36)
>     at
> com.google.common.cache.CacheLoader$FunctionToCacheLoader.load(CacheLoader.java:148)
>     at
> com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3524)
>     at
> com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2317)
>     at
> com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2280)
>     at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2195)
>     ... 38 more
>
>
> Thank you..
> Avanti
>
>
> On Fri, Feb 28, 2014 at 2:53 PM, Aled Sage <[email protected]> wrote:
>
>> Hi Avanti,
>>
>> A java.lang.NoSuchMethodError usually means that you are running with a
>> different version on the classpath compared to the one you compiled your
>> code against (or a mix of jclouds versions, or that you've added to the
>> classpath a different version of a jclouds upstream dependency from what
>> jclouds was compiled against).
>>
>> Could you check that please, and can you include your full exception
>> stack trace so we can see which library/method it's complaining about.
>>
>> Aled
>>
>> p.s. If you're building with maven, also try `mvn dependency:tree` to see
>> all the versions of all the dependencies that maven is pulling in. If
>> something is pulled in twice with different version, that can cause such
>> problems.
>>
>>
>>
>> On 28/02/2014 07:29, Avanti Ajay wrote:
>>
>>> Hi..
>>>
>>> I have installed jclouds and devstack and I am trying to run the
>>> following code :
>>>
>>>
>>> import java.util.Set;
>>> import java.lang.Thread.UncaughtExceptionHandler;
>>>
>>> import org.jclouds.ContextBuilder;
>>> import org.jclouds.compute.ComputeService;
>>> import org.jclouds.compute.ComputeServiceContext;
>>> import org.jclouds.openstack.nova.v2_0.features.ImageApi;
>>> import org.jclouds.openstack.nova.v2_0.domain.Image;
>>> import org.jclouds.rest.RestContext;
>>> import org.jclouds.openstack.nova.v2_0.NovaApi;
>>> import org.jclouds.openstack.nova.v2_0.NovaAsyncApi;
>>> import org.jclouds.logging.slf4j.config.SLF4JLoggingModule;
>>>
>>> import com.google.common.collect.ImmutableSet;
>>> import com.google.common.collect.FluentIterable;
>>> import com.google.inject.Module;
>>>
>>> public class JCloudsOpenStack {
>>>   private ComputeService compute;
>>>   private RestContext<NovaApi, NovaAsyncApi> nova;
>>>   private Set<String> zones;
>>>
>>>   public static void main(String[] args) {
>>>     JCloudsOpenStack jCloudsOpenStack = new JCloudsOpenStack();
>>>     jCloudsOpenStack.init();
>>>     jCloudsOpenStack.listImages();
>>>     jCloudsOpenStack.close();
>>>   }
>>>
>>>   private void init() {
>>>     Thread.setDefaultUncaughtExceptionHandler(new
>>> UncaughtExceptionHandler() {
>>>
>>>
>>>         public void uncaughtException(Thread t, Throwable e) {
>>>         if (compute != null) close();
>>>         e.printStackTrace();
>>>         System.exit(1);
>>>       }
>>>     });
>>>
>>>     Iterable<Module> modules = ImmutableSet.<Module> of(
>>>       new SLF4JLoggingModule());
>>>
>>>     String provider = "openstack-nova";
>>>     String identity = "admin:admin"; // tenantName:userName
>>>     String password = "ashwini";
>>>
>>>     ComputeServiceContext context = ContextBuilder.newBuilder(provider)
>>>       .credentials(identity, password)
>>>       .endpoint("http://172.16.32.87:5000/v2.0/";)
>>>       .modules(modules)
>>>       .buildView(ComputeServiceContext.class);
>>>     compute = context.getComputeService();
>>>     nova = context.unwrap();
>>>     zones = nova.getApi().getConfiguredZones();
>>>   }
>>>
>>>   private void listImages() {
>>>     for (String zone: zones) {
>>>       ImageApi imageApi = nova.getApi().getImageApiForZone(zone);
>>>
>>>       System.out.println("Calling listImages for " + zone + ":");
>>>
>>>       FluentIterable<? extends Image> images = imageApi.listInDetail().
>>> concat();
>>>
>>>       for (Image image: images) {
>>>         System.out.println("\t" + image);
>>>       }
>>>     }
>>>   }
>>>   private void close() {
>>>     compute.getContext().close();
>>>   }
>>> }
>>>
>>>
>>> But I am getting the following error : Exception:
>>> java.lang.NoSuchMethodError thrown from the UncaughtExceptionHandler in
>>> thread "main"
>>>
>>> Please help..
>>>
>>> Thank you
>>> Avanti
>>>
>>
>>
>

Reply via email to