Skip to content
Advertisement

java.lang.NoClassDefFoundError: Could not initialize class com.google.api.client.util.Data [closed]

When I programming, an error occured:

"java.lang.NoClassDefFoundError: Could not initialize class com.google.api.client.util.Data"

How to resolve it?


java.lang.NoClassDefFoundError: Could not initialize class com.google.api.client.util.Data at com.google.api.client.util.FieldInfo.(FieldInfo.java:131) at com.google.api.client.util.FieldInfo.of(FieldInfo.java:104) at com.google.api.client.util.ClassInfo.(ClassInfo.java:181) at com.google.api.client.util.ClassInfo.of(ClassInfo.java:92) at com.google.api.client.util.GenericData.(GenericData.java:79) at com.google.api.client.http.HttpHeaders.(HttpHeaders.java:59) at com.google.api.client.http.HttpRequest.(HttpRequest.java:65)


at com.google.api.client.http.HttpTransport.buildRequest(HttpTransport.java:98) at com.google.api.client.http.HttpRequestFactory.buildRequest(HttpRequestFactory.java:89) at com.google.api.client.http.HttpRequestFactory.buildGetRequest(HttpRequestFactory.java:120)

Advertisement

Answer

The ways to resolve the java.lang.NoClassDefFoundError are :- Follow the link.

What is reason of NoClassDefFoundError in Java?

NoClassDefFoundError in Java comes when Java Virtual Machine is not able to find a particular class at runtime which was available during compile time. For example if we have a method call from a class or accessing any static member of a Class and that class is not available during run-time then JVM will throw NoClassDefFoundError. It’s important to understand that this is different than ClassNotFoundException which comes while trying to load a class at run-time only and name was provided during runtime not on compile time. Many Java developer mingle this two Error and gets confused.

In short NoClassDefFoundError will come if a class was present during compile time but not available in java classpath during runtime. Normally you will see below line in log when you get NoClassDefFoundError:

How to resolve java.lang.NoClassDefFoundError:

  1. Class is not available in Java Classpath.
  2. You might be running your program using jar command and class was not defined in manifest file’s ClassPath attribute.
  3. Any start-up script is overriding Classpath environment variable.
  4. Because NoClassDefFoundError is a sub class of java.lang.LinkageError it can also come if one of it dependency like native library may not available.
  5. Check for java.lang.ExceptionInInitializerError in your log file. NoClassDefFoundError due to failure of static initialization is quite common.
  6. If you are working in J2EE environment than visibility of Class among multiple Classloaders can also cause java.lang.NoClassDefFoundError, see examples and scenario section for detailed discussion.
Advertisement