Bigdata, Hadoop ecosystem, Semantic IoT등의 프로젝트를 진행중에 습득한 내용을 정리하는 곳입니다.
필요한 분을 위해서 공개하고 있습니다.
문의사항은 gooper@gooper.com로 메일을
보내주세요.
1. 다운로드
https://developers.google.com/protocol-buffers/docs/downloads
2. protoc.exe가 설치된 위치에 CustomFilters.proto파일을 만든다
파일내용:
option java_package = "filters.generated"; option java_outer_classname = "FilterProtos"; option java_generic_services = true; option java_generate_equals_and_hash = true; option optimize_for = SPEED; message CustomFilter { required bytes value = 1; } |
C:protoc-2.6.1-win32>protoc --java_out=./ CustomFilters.proto3. 컴파일
4. 생성된 파일 확인
C:protoc-2.6.1-win32filtersgeneratedFilterProtos.java
5. 생성된 java소스파일에 "memoizedHashCode" 변수 선언부분이 생성되지 않아서 컴파일오류가 밞생한다.
그래서 아래와 같이 임의로 "private int memoizedHashCode = 0;"를 추가해준다.(왜?? 만들어 주지 않지??)
private int memoizedHashCode = 0; @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptorForType().hashCode(); if (hasValue()) { hash = (37 * hash) + VALUE_FIELD_NUMBER; hash = (53 * hash) + getValue().hashCode(); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } |