googleads / google-ads-java

Google Ads API Client Library for Java
Apache License 2.0
171 stars 176 forks source link

java.lang.IllegalAccessError: tried to access method com.google.protobuf.LazyStringArrayList.emptyList()Lcom/google/protobuf/LazyStringArrayList; from class com.google.ads.googleads.v15.services.ListAccessibleCustomersResponse #761

Closed rdeshmukh15 closed 8 months ago

rdeshmukh15 commented 8 months ago

Describe the bug:

Getting below error when I'm trying to upgrade from v13 to v15 : Initially throwing the error, "cause0":"java.lang.NoClassDefFoundError: Could not initialize class com.google.ads.googleads.v15.services.stub.GrpcCustomerServiceStub", "message":"java.lang.NoClassDefFoundError: Could not initialize class com.google.ads.googleads.v15.services.stub.GrpcCustomerServiceStub"

Hence, removed unused jar, com.google.api-ads/ads-lib "4.16.0" which started throwing below error : java.lang.IllegalAccessError: tried to access method com.google.protobuf.LazyStringArrayList.emptyList()Lcom/google/protobuf/LazyStringArrayList; from class com.google.ads.googleads.v15.services.ListAccessibleCustomersResponse

Steps to Reproduce:

Expected behavior:

Client library version and API version: Using below jars

Google Ads API version: v15

Request/Response Logs:

Anything else we should know about your project / environment:

jradcliff commented 8 months ago

Please remove the dependency on com.google.api-ads/adwords-axis "4.21.0". This is for the old AdWords API that was shut down, so you shouldn't need it. Having that dependency brings in old versions of libraries that can lead to errors like this one.

Thanks, Josh, Google Ads API Team

rdeshmukh15 commented 8 months ago

@jradcliff : removed the com.google.api-ads/adwords-axis "4.21.0" dependency, still getting the same error

java.lang.IllegalAccessError: tried to access method com.google.protobuf.LazyStringArrayList.emptyList()Lcom/google/protobuf/LazyStringArrayList; from class com.google.ads.googleads.v15.services.ListAccessibleCustomersResponse
at com.google.ads.googleads.v15.services.ListAccessibleCustomersResponse.<init>(ListAccessibleCustomersResponse.java:51) ~[google-ads-stubs-v15-28.0.0.jar:28.0.0]
at com.google.ads.googleads.v15.services.ListAccessibleCustomersResponse.<clinit>(ListAccessibleCustomersResponse.java:625) ~[google-ads-stubs-v15-28.0.0.jar:28.0.0]
at com.google.ads.googleads.v15.services.stub.GrpcCustomerServiceStub.<clinit>(GrpcCustomerServiceStub.java:70) ~[google-ads-stubs-v15-28.0.0.jar:28.0.0]
at com.google.ads.googleads.v15.services.stub.CustomerServiceStubSettings.createStub(CustomerServiceStubSettings.java:120) ~[google-ads-stubs-v15-28.0.0.jar:28.0.0]
at com.google.ads.googleads.v15.services.CustomerServiceClient.<init>(CustomerServiceClient.java:141) ~[google-ads-stubs-v15-28.0.0.jar:28.0.0]
at com.google.ads.googleads.v15.services.CustomerServiceClient.create(CustomerServiceClient.java:123) ~[google-ads-stubs-v15-28.0.0.jar:28.0.0]
at com.google.ads.googleads.lib.catalog.GeneratedCatalog$V15Client.createCustomerServiceClient(GeneratedCatalog.java:4425) ~[google-ads-28.0.0.jar:28.0.0]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_181]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_181]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_181]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_181]
at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93) ~[clojure-1.9.0.jar:?]
at clojure.lang.Reflector.invokeNoArgInstanceMember(Reflector.java:313) ~[clojure-1.9.0.jar:?]
jradcliff commented 8 months ago

Is the list of JARs/dependencies you provided in your first comment the complete list for your project? If not, could you share the list using the commands listed at https://developers.google.com/google-ads/api/docs/client-libs/java/advanced-usage#shadow_dependencies?

rdeshmukh15 commented 8 months ago

We can't provide the dependencies publicly. Can we share those privately over an email or something?!

jradcliff commented 8 months ago

Please open a support case via the form at https://developers.google.com/google-ads/api/support, and mention that I specifically requested you open the case so we can share information 1:1. If you get a case ID back in the response, please post it here so I can look up the case and follow up with you there.

Thanks, Josh, Google Ads API Team

rdeshmukh15 commented 8 months ago

Please open a support case via the form at https://developers.google.com/google-ads/api/support, and mention that I specifically requested you open the case so we can share information 1:1. If you get a case ID back in the response, please post it here so I can look up the case and follow up with you there.

Thanks, Josh, Google Ads API Team

Case ID: ref:!00D1U01174p.!5004Q02rW23Y:ref

jradcliff commented 8 months ago

Thanks, I responded to that email. I'll close this issue since we'll continue the discussion over email.