应用程序生成成功,但出现以下错误:
Exception in thread "Thread-29" java.lang.NoClassDefFoundError: org/apache/hadoop/util/ShutdownHookManager$2
at org.apache.hadoop.util.ShutdownHookManager.getShutdownHooksInOrder(ShutdownHookManager.java:124)
at org.apache.hadoop.util.ShutdownHookManager$1.run(ShutdownHookManager.java:52)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.util.ShutdownHookManager$2
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
... 2 more
我添加了这个hadoop公共jar,它在pom文件中有这个类,类路径或者我知道的任何可能的方式,可以用google搜索,但是没有任何效果。
1条答案
按热度按时间zqdjd7g91#
它看起来像一个运行时问题。据我所知,classrealm试图在运行时加载一个类,而该类不在jar中。看看自我优先策略。java:50 and 检查尝试加载的类是否确实存在。