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

Ignasi Barrera commented on JCLOUDS-1550:
-----------------------------------------

The {{jclouds/jclouds}} repo has been deprecated for a while. Please, use 
{{apache/jclouds}}, as it is the up to date one and the Guava versions are 
correct there.

We had a mirror job but I see that it has been failing for a while; this is why 
you see a stale state in the deprecated repo. We'll look into that, but please, 
do update your Git remotes and point to the Apache org repos.

> “NoSuchMethodErrors” due to multiple versions of com.google.guava:jar
> ---------------------------------------------------------------------
>
>                 Key: JCLOUDS-1550
>                 URL: https://issues.apache.org/jira/browse/JCLOUDS-1550
>             Project: jclouds
>          Issue Type: Bug
>    Affects Versions: 2.3.0
>            Reporter: Bing-ok
>            Priority: Major
>
> Hi, there are multiple versions of _*com.google.guava:guava*_ in 
> _*jclouds-master\providers\skalicloud-sdg-my*_. As shown in the following 
> dependency tree, according to Maven's “nearest wins” strategy, only 
> _*com.google.guava:guava:18.0*_ can be loaded, 
> _*com.google.guava:guava:19.0*_ and _*com.google.guava:guava:22.0*_ will be 
> shadowed.
> As _*com.google.guava:guava:22.0*_ has not been loaded during the building 
> process, several methods are missing. However, the missing methods:
>  1. _*com.google.common.base.Preconditions: void 
> checkArgument(boolean,java.lang.String,java.lang.Object)*_
> {noformat}
> paths------
> <org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder: void 
> <init>()> jclouds-master\providers\skalicloud-sdg-my\target\classes
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> id(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> linkedService(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.collect.Collections2$FilteredCollection: boolean 
> add(java.lang.Object)> Repositories\com\google\guava\guava\18.0\guava-18.0.jar
> <org.jclouds.compute.domain.internal.NullEqualToIsParentOrIsGrandparentOfCurrentLocation:
>  boolean apply(java.lang.Object)> 
> Repositories\org\apache\jclouds\jclouds-compute\2.3.0-SNAPSHOT\jclouds-compute-2.3.0-SNAPSHOT.jar
> <org.jclouds.compute.domain.internal.NullEqualToIsParentOrIsGrandparentOfCurrentLocation:
>  boolean apply(org.jclouds.compute.domain.ComputeMetadata)> 
> Repositories\org\apache\jclouds\jclouds-compute\2.3.0-SNAPSHOT\jclouds-compute-2.3.0-SNAPSHOT.jar
> <com.google.common.base.Preconditions: void 
> checkArgument(boolean,java.lang.String,java.lang.Object)>{noformat}
> 2. _*com.google.common.base.Preconditions: void 
> checkState(boolean,java.lang.String,java.lang.Object,java.lang.Object)*_
> {noformat}
> paths------
> <org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder: void 
> <init>()> jclouds-master\providers\skalicloud-sdg-my\target\classes
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> id(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> linkedService(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.collect.Collections2$FilteredCollection: boolean 
> add(java.lang.Object)> Repositories\com\google\guava\guava\18.0\guava-18.0.jar
> <org.jclouds.compute.domain.internal.NullEqualToIsParentOrIsGrandparentOfCurrentLocation:
>  boolean apply(java.lang.Object)> 
> Repositories\org\apache\jclouds\jclouds-compute\2.3.0-SNAPSHOT\jclouds-compute-2.3.0-SNAPSHOT.jar
> <org.jclouds.compute.domain.internal.NullEqualToIsParentOrIsGrandparentOfCurrentLocation:
>  boolean apply(org.jclouds.compute.domain.ComputeMetadata)> 
> Repositories\org\apache\jclouds\jclouds-compute\2.3.0-SNAPSHOT\jclouds-compute-2.3.0-SNAPSHOT.jar
> <org.jclouds.location.suppliers.all.ZoneToProvider: java.lang.Object get()> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.location.suppliers.all.ZoneToProvider: java.util.Set get()> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.base.Preconditions: void 
> checkState(boolean,java.lang.String,java.lang.Object,java.lang.Object)> 
> {noformat}
> 3. _*com.google.common.base.Preconditions: void 
> checkArgument(boolean,java.lang.String,int)*_
> {noformat}
> paths------
> <org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder: 
> org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder 
> fromProviderMetadata(org.jclouds.providers.ProviderMetadata)> 
> jclouds-master\providers\skalicloud-sdg-my\target\classes
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> fromProviderMetadata(org.jclouds.providers.ProviderMetadata)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> linkedServices(java.lang.Iterable)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.collect.Iterables: boolean 
> addAll(java.util.Collection,java.lang.Iterable)> 
> Repositories\com\google\guava\guava\18.0\guava-18.0.jar
> <org.jclouds.io.internal.BasePayloadSlicer$ByteSourcePayloadIterable: 
> java.util.Iterator iterator()> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.io.internal.BasePayloadSlicer$ByteSourcePayloadIterator: void 
> <init>(com.google.common.io.ByteSource,org.jclouds.io.ContentMetadata)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.io.internal.BasePayloadSlicer$ByteSourcePayloadIterator: 
> org.jclouds.io.Payload getNextPayload()> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.io.ContentMetadataBuilder: org.jclouds.io.ContentMetadataBuilder 
> contentMD5(com.google.common.hash.HashCode)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.base.Preconditions: void 
> checkArgument(boolean,java.lang.String,int)> {noformat}
> 4. _*com.google.common.base.Preconditions: void 
> checkArgument(boolean,java.lang.String,java.lang.Object,java.lang.Object)*_
> {noformat}
> paths------
> <org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder: 
> org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder 
> fromProviderMetadata(org.jclouds.providers.ProviderMetadata)> 
> jclouds-master\providers\skalicloud-sdg-my\target\classes
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> fromProviderMetadata(org.jclouds.providers.ProviderMetadata)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> id(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> linkedService(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.collect.Collections2$FilteredCollection: boolean 
> add(java.lang.Object)> Repositories\com\google\guava\guava\18.0\guava-18.0.jar
> <org.jclouds.compute.util.ConcurrentOpenSocketFinder$3: boolean 
> apply(java.lang.Object)> 
> Repositories\org\apache\jclouds\jclouds-compute\2.3.0-SNAPSHOT\jclouds-compute-2.3.0-SNAPSHOT.jar
> <com.google.common.base.Predicates$CompositionPredicate: boolean 
> apply(java.lang.Object)> 
> Repositories\com\google\guava\guava\18.0\guava-18.0.jar
> <org.jclouds.location.functions.RegionToEndpoint: java.lang.Object 
> apply(java.lang.Object)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.location.functions.RegionToEndpoint: java.net.URI 
> apply(java.lang.Object)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.base.Preconditions: void 
> checkArgument(boolean,java.lang.String,java.lang.Object,java.lang.Object)>{noformat}
> 5. _*com.google.common.base.Preconditions: void 
> checkState(boolean,java.lang.String,java.lang.Object)*_
> {noformat}
> paths------
> <org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata: 
> org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder builder()> 
> jclouds-master\providers\skalicloud-sdg-my\target\classes
> <org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder: void 
> <init>()> jclouds-master\providers\skalicloud-sdg-my\target\classes
> <org.jclouds.elasticstack.ElasticStackApiMetadata: void <init>()> 
> Repositories\org\apache\jclouds\api\elasticstack\2.3.0-SNAPSHOT\elasticstack-2.3.0-SNAPSHOT.jar
> <org.jclouds.elasticstack.ElasticStackApiMetadata$Builder: void <init>()> 
> Repositories\org\apache\jclouds\api\elasticstack\2.3.0-SNAPSHOT\elasticstack-2.3.0-SNAPSHOT.jar
> <org.jclouds.rest.internal.BaseHttpApiMetadata$Builder: void <init>()> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.reflect.Types2: com.google.common.reflect.TypeToken 
> checkBound(com.google.common.reflect.TypeToken)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.base.Preconditions: void 
> checkState(boolean,java.lang.String,java.lang.Object)>{noformat}
> 6. _*com.google.common.net.HostAndPort: java.lang.String getHost()*_
> {noformat}
> paths------
> <org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder: 
> org.jclouds.skalicloud.SkaliCloudMalaysiaProviderMetadata$Builder 
> fromProviderMetadata(org.jclouds.providers.ProviderMetadata)> 
> jclouds-master\providers\skalicloud-sdg-my\target\classes
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> fromProviderMetadata(org.jclouds.providers.ProviderMetadata)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> id(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <org.jclouds.providers.internal.BaseProviderMetadata$Builder: 
> org.jclouds.providers.internal.BaseProviderMetadata$Builder 
> linkedService(java.lang.String)> 
> Repositories\org\apache\jclouds\jclouds-core\2.3.0-SNAPSHOT\jclouds-core-2.3.0-SNAPSHOT.jar
> <com.google.common.collect.Collections2$FilteredCollection: boolean 
> add(java.lang.Object)> Repositories\com\google\guava\guava\18.0\guava-18.0.jar
> <org.jclouds.compute.stub.config.StubComputeServiceDependenciesModule$StubSocketOpen:
>  boolean apply(java.lang.Object)> 
> Repositories\org\apache\jclouds\jclouds-compute\2.3.0-SNAPSHOT\jclouds-compute-2.3.0-SNAPSHOT.jar
> <org.jclouds.compute.stub.config.StubComputeServiceDependenciesModule$StubSocketOpen:
>  boolean apply(com.google.common.net.HostAndPort)> 
> Repositories\org\apache\jclouds\jclouds-compute\2.3.0-SNAPSHOT\jclouds-compute-2.3.0-SNAPSHOT.jar
> <com.google.common.net.HostAndPort: java.lang.String getHost()>{noformat}
> The above missing methods are actually referenced by 
> _*com.google.guava:guava:22.0*_, which will cause “NoSuchMethodErrors” at 
> runtime.
> Suggested fixing solutions:
>  1. Upgrade dependency _*com.google.guava:guava*_ from _*18.0*_ to _*22.0*_.
>  2. Use configuration attribute <dependencyManagement> to unify the version 
> of library _*com.google.guava:guava*_ to be _*22.0*_ in 
> jclouds-master\providers\skalicloud-sdg-my's pom file.
> Please let me know which solution do you prefer? I can submit a PR to fix it.
> Thank you very much for your attention.
>  Best regards,
> Dependency tree----
> [INFO] org.apache.jclouds.provider:skalicloud-sdg-my:bundle:2.3.0-SNAPSHOT
>  [INFO] +- org.apache.jclouds.api:elasticstack:jar:2.3.0-SNAPSHOT:compile
>  [INFO] | - org.apache.jclouds:jclouds-compute:jar:2.3.0-SNAPSHOT:compile
>  [INFO] | - org.apache.jclouds:jclouds-core:jar:2.3.0-SNAPSHOT:compile
>  [INFO] | - *(com.google.guava:guava:jar:18.0:compile - version managed from 
> 22.0; omitted for duplicate)*
>  [INFO] +- org.apache.jclouds:jclouds-core:test-jar:tests:2.3.0-SNAPSHOT:test
>  [INFO] | - *(com.google.guava:guava:jar:18.0:compile - version managed from 
> 22.0; scope updated from test; omitted for duplicate)*
>  [INFO] +- com.google.auto.service:auto-service:jar:1.0-rc3:compile
>  [INFO] | +- com.google.auto:auto-common:jar:0.3:compile
>  [INFO] | | - *(com.google.guava:guava:jar:18.0:compile - version managed 
> from 19.0; omitted for duplicate)*
>  [INFO] | - *com.google.guava:guava:jar:18.0:compile*
>  [INFO] - org.assertj:assertj-guava:jar:1.3.0:test
>  [INFO] - *(com.google.guava:guava:jar:18.0:test - omitted for duplicate)*



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to