Abhishek Ramachandran
Abhishek Ramachandran

Reputation: 1170

java.lang.ClassNotFoundException: org.apache.log4j.Level Exception

I have met with the following exception and it's the first time I came across with this one:

Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Level
    at org.apache.hadoop.mapred.JobConf.<clinit>(JobConf.java:357) ~[hadoop-mapreduce-client-core-2.7.1.jar:na]
    at java.lang.Class.forName0(Native Method) ~[na:1.8.0_91]
    at java.lang.Class.forName(Class.java:348) ~[na:1.8.0_91]
    at org.apache.hadoop.conf.Configuration.getClassByNameOrNull(Configuration.java:2134) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.util.ReflectionUtils.setJobConf(ReflectionUtils.java:95) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:78) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:136) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.Groups.<init>(Groups.java:79) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.Groups.<init>(Groups.java:74) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:303) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:283) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.UserGroupInformation.ensureInitialized(UserGroupInformation.java:260) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.UserGroupInformation.loginUserFromSubject(UserGroupInformation.java:790) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.UserGroupInformation.getLoginUser(UserGroupInformation.java:760) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.security.UserGroupInformation.getCurrentUser(UserGroupInformation.java:633) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2812) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.fs.FileSystem$Cache$Key.<init>(FileSystem.java:2802) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2668) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:371) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:170) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:355) ~[hadoop-common-2.7.1.jar:na]
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295) ~[hadoop-common-2.7.1.jar:na]
    at org.springframework.data.hadoop.store.support.OutputStoreObjectSupport.findInitFiles(OutputStoreObjectSupport.java:110) ~[spring-data-hadoop-store-2.3.0.RELEASE.jar:2.3.0.RELEASE]
    at org.springframework.data.hadoop.store.support.OutputStoreObjectSupport.initOutputContext(OutputStoreObjectSupport.java:93) ~[spring-data-hadoop-store-2.3.0.RELEASE.jar:2.3.0.RELEASE]
    at org.springframework.data.hadoop.store.support.OutputStoreObjectSupport.onInit(OutputStoreObjectSupport.java:83) ~[spring-data-hadoop-store-2.3.0.RELEASE.jar:2.3.0.RELEASE]
    at org.springframework.data.hadoop.store.support.LifecycleObjectSupport.afterPropertiesSet(LifecycleObjectSupport.java:67) ~[spring-data-hadoop-store-2.3.0.RELEASE.jar:2.3.0.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE]
    ... 66 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.apache.log4j.Level
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_91]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_91]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) ~[na:1.8.0_91]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_91]
    ... 94 common frames omitted

I have tried this. But it doesn't solves the problem. Also looked at here and it too disappointed.

Any help will be appreciated.

Upvotes: 0

Views: 7254

Answers (2)

Abhishek Ramachandran
Abhishek Ramachandran

Reputation: 1170

I just solved this issue. It's all because of a wrong code placed in build.gradle as

configurations.all {
    exclude group: "commons-logging", module: "commons-logging"
    exclude group: "log4j", module: "log4j"
 }

Removed this and problem solved.

Upvotes: 2

Moshe Arad
Moshe Arad

Reputation: 3733

It seems that the class:

org.apache.log4j.Level

can't be found in your classpath. First, make sure that Log4j dependency is in your local repository, i.e. in your .m2 folder, if it's not there, execute on your command-line:

mvn dependency:copy-dependencies

That Maven command will pull down your requested dependencies which aren't found in your local repository.

Upvotes: 2

Related Questions