2014-04-17 40 views
4

我剛剛獲得最後一個穩定的Hadoop版本(2.4),並遵循this指令將其導入到Eclipse中。Package org.apache.hadoop.ipc.protobuf empty

但是,我在測試src文件夾中有幾個生成錯誤cannot be resolved to a type。舉個例子:

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包是空的。難道我做錯了什麼?缺少一些配置步驟?

回答

3

在hadoop源代碼存儲庫中,您無法在這些包下找到任何Java文件。根據本包的Java文件會被protoc編譯器生成

當你執行Maven的安裝mvn install -DskipTests protoc編譯器將生成相應的.java文件

設立的Hadoop構建環境,請參考以下鏈接

http://wiki.apache.org/hadoop/HowToContribute

安裝本機庫 安裝protobuf的等等。參見上面的鏈接的詳細信息

一旦成功執行命令mvn install -DskipTests可以看到java文件下的protobuf包

+0

謝謝,一切編譯。一個後續問題:是否可以從Eclipse本地運行Hadoop 2.4?或者因爲YARN不可能了?我搜索'無法初始化羣集。 '請檢查你的配置...'沒有成功,因爲大部分問題仍然是Hadoop 1.x –

+0

嗨, 我也得到相同的錯誤缺少相同的packegaes,我跑了mvn安裝-DskipTests沒有任何錯誤,但包仍然丟失。 任何想法? 謝謝 –

1

嘗試cd到路徑「/ Hadoop的共同項目/ Hadoop的通用/ src目錄/測試/原」,並執行以下命令:protoc --java_out=../java *.proto。請注意,您應該安裝協議緩衝區(Google項目),您可以從github中簡單獲得。