包含hadoop / *-common.jar仍然得到"java.lang.ClassNotFoundException:org.apache.hadoop.conf.Configuration"



在练习实现"hadoop RPC"样本时,我不断收到此错误。 根据之前类似的问题和答案,我已经检查了我的类路径中的jar文件,并得到了hadoop common.jar它显示类路径中的jar文件包含hadoop.conf.Configuration.class。 下面是构建 RPCServer 的代码:

*package rpc;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.ipc.RPC;
import org.apache.hadoop.ipc.Server;
public class RPCServer implements MyBizable {
public String doSomething(String str) {
return str;
}
public static void main(String[] args) throws  Exception {
Server server = new RPC.Builder(new Configuration())        
.setProtocol(MyBizable.class)
.setInstance(new RPCServer())
.setBindAddress("***.***.***.***")
.setPort(****)
.build();
server.start();
}
}*

这个错误仍然出现,有人知道如何解决它吗? 任何帮助将不胜感激!提前感谢!

你在用Maven吗? 如果是,则添加以下依赖项。

<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-client</artifactId>
<version>${hadoop.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.hadoop</groupId>
<artifactId>hadoop-common</artifactId>
<version>${hadoop.version}</version>
<scope>provided</scope>
</dependency>

最新更新