Giter Club home page Giter Club logo

Comments (5)

ST-DDT avatar ST-DDT commented on May 27, 2024 1

According to this dependency graph the old version is added via io.grpc.grpc-protobuf.

However if I look at the related pom it mentions a newer version of guava.
See: http://central.maven.org/maven2/io/grpc/grpc-protobuf/1.17.1/grpc-protobuf-1.17.1.pom

Please check

  • whether the dependency tree output remains the same if you update the related maven plugin (see warning)
  • whether the official pom matches your local copy
  • whether you have any dependency management or parent pom entries that might overrule that dependency version

from grpc-spring.

yidongnan avatar yidongnan commented on May 27, 2024

@magg dependencies conflict.
grpc-java 1.1.2 version requires guava 20.0 version.
I fix it. #23

from grpc-spring.

nicelord avatar nicelord commented on May 27, 2024

I've found the same issue while using the latest Eureka client (2.1.0.RELEASE) and net.devh:grpc-spring-boot-starter (2.2.1.RELEASE) server+client version.

adding the latest guava version (27.0.1-jre) seems resolve the issue

Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'nettyGrpcChannelFactory' defined in class path resource [net/devh/boot/grpc/client/autoconfigure/GrpcClientAutoConfiguration.class]: Unsatisfied dependency expressed through method 'nettyGrpcChannelFactory' parameter 1; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grpcLoadBalancerFactory' defined in class path resource [net/devh/boot/grpc/client/autoconfigure/GrpcClientAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.grpc.LoadBalancer$Factory]: Factory method 'grpcLoadBalancerFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:769) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:509) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1305) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1144) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:224) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveNamedBean(DefaultListableBeanFactory.java:1115) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveBean(DefaultListableBeanFactory.java:407) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:341) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBean(DefaultListableBeanFactory.java:335) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1123) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at net.devh.boot.grpc.client.inject.GrpcClientBeanPostProcessor.getChannelFactory(GrpcClientBeanPostProcessor.java:130) ~[grpc-client-spring-boot-autoconfigure-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at net.devh.boot.grpc.client.inject.GrpcClientBeanPostProcessor.processInjectionPoint(GrpcClientBeanPostProcessor.java:110) ~[grpc-client-spring-boot-autoconfigure-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at net.devh.boot.grpc.client.inject.GrpcClientBeanPostProcessor.postProcessBeforeInitialization(GrpcClientBeanPostProcessor.java:77) ~[grpc-client-spring-boot-autoconfigure-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:414) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1754) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	... 15 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grpcLoadBalancerFactory' defined in class path resource [net/devh/boot/grpc/client/autoconfigure/GrpcClientAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.grpc.LoadBalancer$Factory]: Factory method 'grpcLoadBalancerFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:627) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:456) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1305) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1144) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1247) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1167) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:857) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:760) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	... 35 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.grpc.LoadBalancer$Factory]: Factory method 'grpcLoadBalancerFactory' threw exception; nested exception is java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:622) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	... 49 common frames omitted
Caused by: java.lang.NoClassDefFoundError: com/google/common/base/MoreObjects
	at io.grpc.LoadBalancerProvider.toString(LoadBalancerProvider.java:54) ~[grpc-core-1.17.1.jar:1.17.1]
	at java.lang.String.valueOf(String.java:2994) ~[na:1.8.0_192]
	at java.lang.StringBuilder.append(StringBuilder.java:131) ~[na:1.8.0_192]
	at io.grpc.LoadBalancerRegistry.<init>(LoadBalancerRegistry.java:57) ~[grpc-core-1.17.1.jar:1.17.1]
	at io.grpc.LoadBalancerRegistry.getDefaultRegistry(LoadBalancerRegistry.java:92) ~[grpc-core-1.17.1.jar:1.17.1]
	at io.grpc.util.RoundRobinLoadBalancerFactory.<init>(RoundRobinLoadBalancerFactory.java:43) ~[grpc-core-1.17.1.jar:1.17.1]
	at io.grpc.util.RoundRobinLoadBalancerFactory.getInstance(RoundRobinLoadBalancerFactory.java:52) ~[grpc-core-1.17.1.jar:1.17.1]
	at net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration.grpcLoadBalancerFactory(GrpcClientAutoConfiguration.java:97) ~[grpc-client-spring-boot-autoconfigure-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration$$EnhancerBySpringCGLIB$$f9b04b6f.CGLIB$grpcLoadBalancerFactory$9(<generated>) ~[grpc-client-spring-boot-autoconfigure-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration$$EnhancerBySpringCGLIB$$f9b04b6f$$FastClassBySpringCGLIB$$93cfe576.invoke(<generated>) ~[grpc-client-spring-boot-autoconfigure-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363) ~[spring-context-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	at net.devh.boot.grpc.client.autoconfigure.GrpcClientAutoConfiguration$$EnhancerBySpringCGLIB$$f9b04b6f.grpcLoadBalancerFactory(<generated>) ~[grpc-client-spring-boot-autoconfigure-2.2.1.RELEASE.jar:2.2.1.RELEASE]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_192]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_192]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_192]
	at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_192]
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.5.RELEASE.jar:5.1.5.RELEASE]
	... 50 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.google.common.base.MoreObjects
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_192]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_192]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_192]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_192]
	... 68 common frames omitted


Process finished with exit code 1

from grpc-spring.

ST-DDT avatar ST-DDT commented on May 27, 2024

@nicelord Can you check your dependency tree where the old version is referenced? Is there anything we could do to mitigate the problem?

from grpc-spring.

nicelord avatar nicelord commented on May 27, 2024

@ST-DDT I'm not sure which one

Here is my dep tree for com.google.guava

mvn org.apache.maven.plugins:maven-dependency-plugin:2.10:tree -Dverbose=true -Dincludes=com.google.guava

[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: windows
[INFO] os.detected.arch: x86_64
[INFO] os.detected.version: 10.0
[INFO] os.detected.version.major: 10
[INFO] os.detected.version.minor: 0
[INFO] os.detected.classifier: windows-x86_64
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building grpc-server 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-dependency-plugin:2.10:tree (default-cli) @ grpc-server ---
[WARNING] Using Maven 2 dependency tree to get verbose output, which may be inconsistent with actual Maven 3 resolution
[INFO] com.example:grpc-server:jar:0.0.1-SNAPSHOT
[INFO] +- net.devh:grpc-spring-boot-starter:jar:2.2.1.RELEASE:compile
[INFO] |  \- net.devh:grpc-server-spring-boot-starter:jar:2.2.1.RELEASE:compile
[INFO] |     \- net.devh:grpc-server-spring-boot-autoconfigure:jar:2.2.1.RELEASE:compile
[INFO] |        +- net.devh:grpc-common-spring-boot:jar:2.2.1.RELEASE:compile
[INFO] |        |  \- io.grpc:grpc-core:jar:1.17.1:compile
[INFO] |        |     \- (com.google.guava:guava:jar:26.0-android:compile - omitted for duplicate)
[INFO] |        \- io.grpc:grpc-protobuf:jar:1.17.1:compile
[INFO] |           +- com.google.guava:guava:jar:16.0.1:compile
[INFO] |           \- io.grpc:grpc-protobuf-lite:jar:1.17.1:compile
[INFO] |              \- (com.google.guava:guava:jar:26.0-android:compile - omitted for duplicate)
[INFO] \- org.springframework.cloud:spring-cloud-starter-netflix-eureka-client:jar:2.1.0.RELEASE:compile
[INFO]    +- com.netflix.eureka:eureka-client:jar:1.9.8:compile
[INFO]    |  +- com.netflix.netflix-commons:netflix-eventbus:jar:0.3.0:runtime
[INFO]    |  |  \- com.netflix.netflix-commons:netflix-infix:jar:0.3.0:runtime
[INFO]    |  |     \- (com.google.guava:guava:jar:14.0.1:runtime - omitted for conflict with 16.0.1)
[INFO]    |  +- com.netflix.servo:servo-core:jar:0.12.21:runtime
[INFO]    |  |  \- (com.google.guava:guava:jar:19.0:compile - scope updated from runtime; omitted for duplicate)
[INFO]    |  \- com.google.inject:guice:jar:4.1.0:runtime
[INFO]    |     \- (com.google.guava:guava:jar:19.0:compile - scope updated from runtime; omitted for duplicate)
[INFO]    +- org.springframework.cloud:spring-cloud-starter-netflix-archaius:jar:2.1.0.RELEASE:compile
[INFO]    |  \- com.netflix.archaius:archaius-core:jar:0.7.6:compile
[INFO]    |     \- (com.google.guava:guava:jar:16.0:compile - scope updated from runtime; omitted for duplicate)
[INFO]    \- org.springframework.cloud:spring-cloud-starter-netflix-ribbon:jar:2.1.0.RELEASE:compile
[INFO]       +- com.netflix.ribbon:ribbon:jar:2.3.0:compile
[INFO]       |  +- com.netflix.ribbon:ribbon-transport:jar:2.3.0:runtime
[INFO]       |  |  \- (com.google.guava:guava:jar:16.0.1:runtime - omitted for conflict with 16.0.1)
[INFO]       |  \- (com.google.guava:guava:jar:16.0.1:compile - scope updated from runtime; omitted for duplicate)
[INFO]       +- com.netflix.ribbon:ribbon-core:jar:2.3.0:compile
[INFO]       |  \- (com.google.guava:guava:jar:16.0:compile - scope updated from runtime; omitted for duplicate)
[INFO]       +- com.netflix.ribbon:ribbon-httpclient:jar:2.3.0:compile
[INFO]       |  \- (com.google.guava:guava:jar:16.0.1:compile - scope updated from runtime; omitted for duplicate)
[INFO]       \- com.netflix.ribbon:ribbon-loadbalancer:jar:2.3.0:compile
[INFO]          \- (com.google.guava:guava:jar:16.0.1:compile - scope updated from runtime; omitted for duplicate)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.104 s
[INFO] Finished at: 2019-03-06T20:45:47+00:00
[INFO] Final Memory: 47M/1014M
[INFO] ------------------------------------------------------------------------

from grpc-spring.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.