agorapulse / grails-aws-sdk-s3

AWS SDK S3 Grails plugin
6 stars 0 forks source link

Error with grails 3.1.12 project #4

Closed machador closed 7 years ago

machador commented 7 years ago

Hi,

when trying to use the amazonS3Service form one of my projects services, i get the following exception:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'awsSdkS3AmazonS3Service': Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: org.apache.http.impl.conn.CPool.setValidateAfterInactivity(I)V at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1582) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireByName(AbstractAutowireCapableBeanFactory.java:1248) at org.grails.spring.beans.factory.OptimizedAutowireCapableBeanFactory.autowireByName(OptimizedAutowireCapableBeanFactory.java:160) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1198) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ... 32 common frames omitted

benorama commented 7 years ago

It looks like a lib conflict issue linked to org.apache.http.impl.conn.CPool. See a similar issue: https://github.com/agorapulse/grails-aws-sdk-s3/issues/3 Try to run dependency report to detect any dependency clash.

machador commented 7 years ago

This is what I get regarding the AWS S3 plugin:

--- org.grails.plugins:aws-sdk-s3:2.0.3 --- com.amazonaws:aws-java-sdk-s3:1.11.45 +--- com.amazonaws:aws-java-sdk-kms:1.11.45 | +--- com.amazonaws:aws-java-sdk-core:1.11.45 | | +--- commons-logging:commons-logging:1.1.3 -> 1.2 | | +--- org.apache.httpcomponents:httpclient:4.5.2 () | | +--- software.amazon.ion:ion-java:1.0.1 | | +--- com.fasterxml.jackson.core:jackson-databind:2.6.6 -> 2.6.7 () | | +--- com.fasterxml.jackson.dataformat:jackson-dataformat-cbor:2.6.6 | | | --- com.fasterxml.jackson.core:jackson-core:2.6.6 -> 2.6.7 | | --- joda-time:joda-time:2.8.1 -> 2.8.2 | --- com.amazonaws:jmespath-java:1.0 | --- com.fasterxml.jackson.core:jackson-databind:2.6.6 -> 2.6.7 () +--- com.amazonaws:aws-java-sdk-core:1.11.45 () --- com.amazonaws:jmespath-java:1.0 (*)

machador commented 7 years ago

I solved it by adding this dependency:

compile "org.apache.httpcomponents:httpcore:4.4.5"

I don't get exactly why this was happening, as it seems this was the library being used. But it fixed it.

benorama commented 7 years ago

Good to know! Some lib conflicts are always a little bit WTF...