java.lang.ClassNotFoundException

If you like a tip written by other Samebug users, mark is as helpful! Marks help our algorithm provide you better solutions and also help other users.
tip

A few things cause this exception: 1) Check if you have all jars and if they're in the correct path when running. 2) Your classpath might be broken, you can define it in the command line with "java -cp yourClassPath" or at your IDE if you're using one.

tip

Needs to add netty-transport-native-epoll with a OS classifier to the classpath, it's not included in netty-all

tip

This might be an issue with the file location in the Spark submit command. Try it with "spark-submit --master spark://master:7077 hello_world_from_pyspark.py {file location}"

You have a different solution? A short tip here would help you and many other users who saw this issue last week.

  • Posted by Seth Jackson on the user forum[1]. It appears something was modified in OpenJPA 2.0 M3 from M2 that causes a LinkageError. In my current environment, I've tested both Glassfish and Tomcat using M2 and M3. M2 runs without problems, but M3 throws a linkage error as follows: Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of sun/misc/Launcher$AppClassLoader) previously initiated loading for a different type with name "org/apache/openjpa/conf/OpenJPAConfiguration" at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at org.apache.openjpa.persistence.validation.ValidationUtils.setupValidation(ValidationUtils.java:53) at org.apache.openjpa.persistence.PersistenceProviderImpl.loadValidator(PersistenceProviderImpl.java:290) at org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:97) at org.apache.openjpa.persistence.OpenJPAPersistence.createEntityManagerFactory(OpenJPAPersistence.java:128) at org.apache.openjpa.persistence.OpenJPAPersistence.createEntityManagerFactory(OpenJPAPersistence.java:111) at test_test.user.UserAction.execute(UserAction.java:39) I've already confirmed that the OpenJPA classes in question do NOT exist in any other JARs in the path. ValidationUtils.setupValidation(ValidationUtils.java:53) calls the OpenJPAConfiguration.getConfigurationLog(). The object being referenced is JDBCConfigurationImpl, which in other classes retrieves the log reference perfectly fine, before it gets to the offending line. Seth's follow up[2]: After further review, using Glassfish 2.1.1 I received this error message in the server log: Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.openjpa.persistence.validation.ValidationUtils.setupValidation(Lorg/apache/openjpa/conf/OpenJPAConfiguration;)Z" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/apache/openjpa/persistence/PersistenceProviderImpl, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, org/apache/openjpa/persistence/validation/ValidationUtils, have different Class objects for the type org/apache/openjpa/conf/OpenJPAConfiguration used in the signature So it appears to be the WebappClassLoader and the AppClassLoader are both loading the OpenJPAConfiguration from the same JAR file, causing the error when the class is trying to be resolved in this particular method. [1] http://n2.nabble.com/Struts-2x-OpenJPA-2-0-M3-Tomcat-or-Glassfish-tp4087312p4087312.html [2] http://n2.nabble.com/Struts-2x-OpenJPA-2-0-M3-Tomcat-or-Glassfish-tp4087312p4093228.html
    via by Jeremy Bauer,
  • Posted by Seth Jackson on the user forum[1]. It appears something was modified in OpenJPA 2.0 M3 from M2 that causes a LinkageError. In my current environment, I've tested both Glassfish and Tomcat using M2 and M3. M2 runs without problems, but M3 throws a linkage error as follows: Caused by: java.lang.LinkageError: loader constraint violation: loader (instance of sun/misc/Launcher$AppClassLoader) previously initiated loading for a different type with name "org/apache/openjpa/conf/OpenJPAConfiguration" at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124) at java.net.URLClassLoader.defineClass(URLClassLoader.java:260) at java.net.URLClassLoader.access$000(URLClassLoader.java:56) at java.net.URLClassLoader$1.run(URLClassLoader.java:195) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:307) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:252) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320) at org.apache.openjpa.persistence.validation.ValidationUtils.setupValidation(ValidationUtils.java:53) at org.apache.openjpa.persistence.PersistenceProviderImpl.loadValidator(PersistenceProviderImpl.java:290) at org.apache.openjpa.persistence.PersistenceProviderImpl.createEntityManagerFactory(PersistenceProviderImpl.java:97) at org.apache.openjpa.persistence.OpenJPAPersistence.createEntityManagerFactory(OpenJPAPersistence.java:128) at org.apache.openjpa.persistence.OpenJPAPersistence.createEntityManagerFactory(OpenJPAPersistence.java:111) at test_test.user.UserAction.execute(UserAction.java:39) I've already confirmed that the OpenJPA classes in question do NOT exist in any other JARs in the path. ValidationUtils.setupValidation(ValidationUtils.java:53) calls the OpenJPAConfiguration.getConfigurationLog(). The object being referenced is JDBCConfigurationImpl, which in other classes retrieves the log reference perfectly fine, before it gets to the offending line. Seth's follow up[2]: After further review, using Glassfish 2.1.1 I received this error message in the server log: Caused by: java.lang.LinkageError: loader constraint violation: when resolving method "org.apache.openjpa.persistence.validation.ValidationUtils.setupValidation(Lorg/apache/openjpa/conf/OpenJPAConfiguration;)Z" the class loader (instance of org/apache/catalina/loader/WebappClassLoader) of the current class, org/apache/openjpa/persistence/PersistenceProviderImpl, and the class loader (instance of sun/misc/Launcher$AppClassLoader) for resolved class, org/apache/openjpa/persistence/validation/ValidationUtils, have different Class objects for the type org/apache/openjpa/conf/OpenJPAConfiguration used in the signature So it appears to be the WebappClassLoader and the AppClassLoader are both loading the OpenJPAConfiguration from the same JAR file, causing the error when the class is trying to be resolved in this particular method. [1] http://n2.nabble.com/Struts-2x-OpenJPA-2-0-M3-Tomcat-or-Glassfish-tp4087312p4087312.html [2] http://n2.nabble.com/Struts-2x-OpenJPA-2-0-M3-Tomcat-or-Glassfish-tp4087312p4093228.html
    via by Jeremy Bauer,
  • Build stability
    via GitHub by fommil
    ,
  • HADOOP_CLASSPATH issue while running jar
    via Stack Overflow by ASingh
    ,
  • jar file not working when running it
    via Stack Overflow by programmer
    ,
    • java.lang.ClassNotFoundException: org.apache.openjpa.enhance.InstrumentationFactory at java.net .URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Natuve Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:303) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)

    Users with the same issue

    andyglick
    2 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    Unknown visitor1 times, last one,
    1420 more bugmates