eclipse java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/19125410/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
提问by Siddhu
I install Hadoop-0.20.2 in windows using cygwin. If i run
我使用 cygwin 在 windows 中安装 Hadoop-0.20.2。如果我跑
$ bin/hadoop version
Hadoop 0.20.2
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707
Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010
It Works Properly but If I run
它工作正常,但如果我运行
namenode -format
名称节点格式
it will return error like below
它会返回如下错误
$ bin/hadoop namenode -format
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.hadoop.conf.Configuration.<clinit>(Configuration.java:139)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<clinit>(NameNode.java:101)
Exception in thread "main"
Kindly help me to solve the issue
请帮我解决问题
回答by Yasa
If you using this lib org.apache.commons.logging.LogFactory then you should probably initialize log according to classes @ coding
如果你使用这个库 org.apache.commons.logging.LogFactory 那么你应该根据 classes@coding 初始化日志
Example
例子
private static Log LOG = LogFactory.getLog(ClassName.class);
私有静态日志日志 = LogFactory.getLog(ClassName.class);
It has .class extension when compile you should make sure whether that class created or not else it will give an exception, i guess
它在编译时具有 .class 扩展名,您应该确保该类是否创建,否则它会给出异常,我猜
Check the classpath too
也检查类路径
Issue-java.lang.NoClassDefFoundError
问题-java.lang.NoClassDefFoundError
Root Cause: Incorrect Java path set in Environment Variable Section
根本原因:环境变量部分中设置的 Java 路径不正确
Solution: Set correct JAVA_HOME Path
解决方法:设置正确的JAVA_HOME路径
Steps->Environment Variable Setting (My Comp-Right Click ->Properties->Env Variable->Advance Tab ->Variable)
步骤->环境变量设置(我的比较-右键单击->属性->环境变量->高级选项卡->变量)
Create new JAVA_HOME Environment Variable.
创建新的 JAVA_HOME 环境变量。
JAVA_HOME .;C:\Program Files (x86)\Java\jdk1.6.0_14
JAVA_HOME .;C:\Program Files (x86)\Java\jdk1.6.0_14
Set JAVA_HOME variable in PATH Variable section.
在 PATH Variable 部分设置 JAVA_HOME 变量。
PATH %JAVA_HOME%\bin
路径 %JAVA_HOME%\bin
Set JAVA_HOME variable in CLASSPATH Variable
在 CLASSPATH 变量中设置 JAVA_HOME 变量
CLASSPATH %JAVA_HOME%\jre\lib
类路径 %JAVA_HOME%\jre\lib
Restart System
重启系统
Verify all variable
验证所有变量
echo %CLASSPATH%
回声%CLASSPATH%
echo %JAVA_HOME%
回声%JAVA_HOME%
echo %PATH%
回声%路径%
Compile & Run the program
编译并运行程序