包org.apache.hadoop.ipc.protobuf empty

4ngedf3f  于 2021-06-03  发布在  Hadoop
关注(0)|答案(3)|浏览(450)

我刚刚得到了上一个稳定的hadoop版本(2.4),并按照此指令将其导入eclipse。
但是,我有几个构建错误 cannot be resolved to a type 在test src文件夹中。例如:

import org.apache.hadoop.ipc.protobuf.TestProtos.EchoRequestProto;
import org.apache.hadoop.ipc.protobuf.TestProtos.EchoResponseProto;
import org.apache.hadoop.ipc.protobuf.TestProtos.EmptyRequestProto;
import org.apache.hadoop.ipc.protobuf.TestProtos.EmptyResponseProto;
import org.apache.hadoop.ipc.protobuf.TestRpcServiceProtos.TestProtobufRpcProto;
import org.apache.hadoop.ipc.protobuf.TestRpcServiceProtos.TestProtobufRpc2Proto;

eclipse找不到这些类中的任何一个,仅仅是因为org.apache.hadoop.ipc.protobuf包是空的。我做错什么了吗?缺少一些配置步骤?

9gm1akwq

9gm1akwq1#

protobuf相关的java文件在您的 ${project.build.directory}/generated-sources/java ,在哪里 project.build.directory 我的情况是 <module_path>/target . 所以完整的路径是 <module_path>/target/generated-sources/java . 我使用intellij idea,在我将前面提到的完整路径标记为sources root之后,一切正常。你可以试着做标记 <your_hadoop_project_root_path>/hadoop-common-project/hadoop-common/target/generated-sources/java 作为根源。

30byixjq

30byixjq2#

在hadoop源代码库中找不到这些包下的任何java文件。这个包下的java文件将由protoc编译器生成
执行maven install时 mvn install -DskipTests protoc编译器将生成相应的.java文件
要设置hadoop构建环境,请参阅以下链接
http://wiki.apache.org/hadoop/howtocontribute
安装本机库安装protobuf等。有关详细信息,请参阅上面的链接
一旦你成功执行命令 mvn install -DskipTests 您可以在protobuf包下看到java文件

nmpmafwu

nmpmafwu3#

尝试cd路径“/hadoop common project/hadoop common/src/test/proto”,并执行以下命令: protoc --java_out=../java *.proto . 请注意,您应该正确安装协议缓冲区(google项目),您可以从github获得。

相关问题