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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-19 21:13:49  来源:igfitidea点击:

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory

eclipsehadoopcygwin

提问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

编译并运行程序