google-cloud-java
google-cloud-java copied to clipboard
google-cloud-translate java.lang.ClassNotFoundException: com.google.cloud.translate.v3beta1.BatchTranslateDocumentResponse
Hi, I'm trying to use google-cloud-translate library version 2.29.0. I build a client using this code:
final var settings = TranslationServiceSettings.newBuilder()
.setCredentialsProvider(credentialsProvider).build();
return TranslationServiceClient.create(settings);
but I got an error saying:
used by: java.lang.NoClassDefFoundError: com/google/cloud/translate/v3beta1/BatchTranslateDocumentResponse
at com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings$Builder.initDefaults(TranslationServiceStubSettings.java:679) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings$Builder.<init>(TranslationServiceStubSettings.java:539) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings$Builder.createDefault(TranslationServiceStubSettings.java:577) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings$Builder.access$100(TranslationServiceStubSettings.java:425) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings.newBuilder(TranslationServiceStubSettings.java:385) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.google.cloud.translate.v3beta1.TranslationServiceSettings$Builder.createDefault(TranslationServiceSettings.java:259) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.google.cloud.translate.v3beta1.TranslationServiceSettings$Builder.access$000(TranslationServiceSettings.java:240) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.google.cloud.translate.v3beta1.TranslationServiceSettings.newBuilder(TranslationServiceSettings.java:216) ~[google-cloud-translate-2.29.0.jar:2.29.0]
at com.verbaa.server.translation.config.TranslationConfig.translationServiceClient(TranslationConfig.java:24) ~[main/:na]
at com.verbaa.server.translation.config.TranslationConfig$$SpringCGLIB$$0.CGLIB$translationServiceClient$0(<generated>) ~[main/:na]
at com.verbaa.server.translation.config.TranslationConfig$$SpringCGLIB$$2.invoke(<generated>) ~[main/:na]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:258) ~[spring-core-6.0.11.jar:6.0.11]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:331) ~[spring-context-6.0.11.jar:6.0.11]
at com.verbaa.server.translation.config.TranslationConfig$$SpringCGLIB$$0.translationServiceClient(<generated>) ~[main/:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:139) ~[spring-beans-6.0.11.jar:6.0.11]
... 53 common frames omitted
Caused by: java.lang.ClassNotFoundException: com.google.cloud.translate.v3beta1.BatchTranslateDocumentResponse
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na]
... 72 common frames omitted
The java version is 17, building tool is Gradle.
I tried to add a dependency with this class: 'com.google.api.grpc:proto-google-cloud-translate-v3beta1:0.111.0'
, but then I got this error:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings.defaultCredentialsProviderBuilder(TranslationServiceStubSettings.java:340)
The following method did not exist:
'com.google.api.gax.core.GoogleCredentialsProvider$Builder com.google.api.gax.core.GoogleCredentialsProvider$Builder.setUseJwtAccessWithScope(boolean)'
The calling method's class, com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings, was loaded from the following location:
jar:file:/Users/vmaiboroda/.gradle/caches/modules-2/files-2.1/com.google.cloud/google-cloud-translate/2.29.0/a743d41ba82b8ea6c05c0094a687851a1319be20/google-cloud-translate-2.29.0.jar!/com/google/cloud/translate/v3beta1/stub/TranslationServiceStubSettings.class
The called method's class, com.google.api.gax.core.GoogleCredentialsProvider$Builder, is available from the following locations:
jar:file:/Users/vmaiboroda/.gradle/caches/modules-2/files-2.1/com.google.api/gax/1.60.1/5f41253a28734e9921c9da205f3c9700c80e1e68/gax-1.60.1.jar!/com/google/api/gax/core/GoogleCredentialsProvider$Builder.class
The called method's class hierarchy was loaded from the following locations:
com.google.api.gax.core.GoogleCredentialsProvider.Builder: file:/Users/vmaiboroda/.gradle/caches/modules-2/files-2.1/com.google.api/gax/1.60.1/5f41253a28734e9921c9da205f3c9700c80e1e68/gax-1.60.1.jar
Action:
Correct the classpath of your application so that it contains compatible versions of the classes com.google.cloud.translate.v3beta1.stub.TranslationServiceStubSettings and com.google.api.gax.core.GoogleCredentialsProvider$Builder
How did you declare the dependency? Did you follow one of the ways from the README?
@blakeli0 I'm using gradle without BOM, so I declare it as dependencies in this way:
implementation 'com.google.cloud:google-cloud-translate:2.29.0'
implementation 'com.google.api.grpc:proto-google-cloud-translate-v3beta1:0.111.0'
@energy2522 were you able to resolve this? https://cloud.google.com/java/docs/reference/google-cloud-translate/latest/overview#gradle contains Gradle-specific installation instructions that may be useful.
I assume this is resolved with no further response in last couple of month. Feel free to reopen if this is still an issue for you.