Cloudera CDH/CDP 및 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; } |