Protoc編譯得到的程式碼編譯異常,提示需要匯入DescriptorProtos類
在解決這個問題的時候,於是看過一些博文如下面:
https://blog.csdn.net/m_changgong/article/details/7759751
博主在博文中提到:
曾想用下載的原始碼手工編譯jar,但是缺少類DescriptorProtos.java,而用Maven編譯會用protoc.exe生成DescriptorProtos.java類滴。
萬能的Google可以解決:
http://grepcode.com/snapshot/repo1.maven.org/maven2/com.google.protobuf/protobuf-java/2.4.1
可以下載protobuf各版本完整的原始碼(包含DescriptorProtos.java)以及編譯好的jar。
這個發覺被牆了,訪問不了,於是就另尋他法。
又找到了一文章:http://blog.51cto.com/java711/1588053
試了一下,發覺路徑有問題,要改成自己的descriptor.proto檔案的路徑,我起初以為不用改折騰了一下,結果不改了,其實應該是沒有問題的
下面說說我的做法:
1、在你的protobuf-java-3.4.0(版本不一樣時路徑的相對位置不變)\protobuf-3.4.0\src\google\protobuf資料夾的找到descriptor.proto
2、按住shift+滑鼠右鍵,選擇“在此處開啟命令視窗”
在命令視窗中輸入:protoc --java_out=. descriptor.proto,按下鍵盤迴車鍵執行指令
3、執行完上面的指令,會在descriptor.proto同一級檔案目錄生成一個com資料夾
一直開啟到最後,你會看到你一直想要的DescriptorProtos類已經躺在那裡了,然後將它複製到你的工程就OK了