在带有cloudera quickstart vm的eclipse(Kepler)中运行时,在一个简单的hadoop程序上看到jsonmappingexception
Exception in thread "main" java.lang.NoClassDefFoundError: org/codehaus/jackson/map/JsonMappingException
at org.apache.hadoop.mapreduce.Job$1.run(Job.java:595)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
at org.apache.hadoop.mapreduce.Job.connect(Job.java:593)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:581)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:612)
at MaxTemperature.main(MaxTemperature.java:28)
Caused by: java.lang.ClassNotFoundException: org.codehaus.jackson.map.JsonMappingException
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
... 8 more
正如许多人所建议的,他们尝试从quickstart vm添加jacksonjar,但没有成功。
1条答案
按热度按时间bwleehnv1#
经过几个小时的调试,通过添加以下jar找到了解决方案:
希望这能为初学者节省一些时间,他们在clouderaquickstart虚拟机上运行hadoop程序(使用eclipse)时可能会遇到类似的问题。