Google RPC 설치하기
(조대협 http://bcho.tistory.com)
지난 GRPC 소개에 이어서 오늘은 JAVA에서 GRPC를 사용하기 위한 설치 방법을 설명한다.
- https://github.com/grpc/grpc-common/tree/master/java
- https://github.com/grpc/grpc-common
- https://github.com/grpc/grpc-common/blob/master/java/javatutorial.md
https://github.com/grpc/grpc-java
글들을 참고하였으며, 컴파일 환경 설정등을 위해서 생각보다 시간이 많이 소요된다. (삽질,Visual Studio 설치 포함 한 2~3시간 걸린듯)
grpc hello world / java
grpc-java 설치하기
https://github.com/grpc/grpc-java#how-to-build 를 참고
준비 : java 8, maven 3.2.x,gradle 2.3 필요
1. 코드 받기
C:\dev\libs> git clone https://github.com/grpc/grpc-java
2. 관련 라이브러리 설치
1) Netty 4.1 설치
grpc-java는 Netty 4.1에 기반함. 아래절차에 따라서 설치한다.
cd C:\dev\libs\grpc-java>
$ git submodule update --init
$ cd lib/netty
$ mvn install -pl codec-http2 -am -DskipTests=true
2) Protocolbuf 3.0.0-alhpa-2 설치 (windows)
안타깝게도 알파버전이라 윈도우즈용 인스톨 바이너리가 없다. 소스 받아서 직접 컴파일해야 한다.
윈도우 환경에서는 C/C++ 컴파일러가 필요하니까는 간단하게 Visual Studio 무료 버전을 깔자 https://www.visualstudio.com/en-us/products/free-developer-offers-vs.aspx
(무료 버전 제공)
다음은 c:\dev\lib\protobuf에 설치 하는 순서이다.
C:\dev\libs>git clone https://github.com/google/protobuf.git
다음으로, C:\dev\libs\protobuf\vsprojects 에 들어가면 visual studio 프로젝트 파일이 있음
VC로 Release 빌드하면 됨. (이때 반드시, Release 모드로 빌드할것, Debug 모드로 빌드하면 나중에 grpc-java 빌드할때 링크에러남). Test 코드 빌드하다가 에러가 나는데 무시하자. 테스트 코드가 안들어가 있다.
빌드 후, C:\dev\libs\protobuf\vsprojects 아래에 readme.txt를 보고 따라할것
C:\dev\libs\protobuf\vsprojects\Release 에 빌드 결과가 생김
안에 protoc.exe가 생김
3. grpc-java 설치
위에서 만든 protoc.exe를 path가 있는 디렉토리에 복사하거나.
본인의 경우에는 위의 디렉토리 자체를 다 PATH에 걸어버렸다. (연관 라이브러리들이 있어서리)
다음으로 grpc-java를 설치하자
앞에서 받은 grpc-java 디렉토리로 가서
$ gradlew install -Pprotobuf.include=C:\dev\libs\protobuf\src -Pprotobuf.libs=C:\dev\libs\protobuf\vsprojects\Release
여기까지 했으면 grpc 설치가 완료되었다. 실제로 동작하는지 확인하려면, 예제 코드를 돌려보면 되는데, 실행 방법은 다음과 같다.
서버 실행
gradlew :grpc-examples:helloWorldServer -Pprotobuf.include=C:\dev\libs\protobuf\src -Pprotobuf.libs=C:\dev\libs\protobuf\vsprojects\Release
클라이언트 실행
gradlew :grpc-examples:helloWorldClient -Pprotobuf.include=C:\dev\libs\protobuf\src -Pprotobuf.libs=C:\dev\libs\protobuf\vsprojects\Release
Since specifying those properties every build is bothersome, you can instead create %HOMEDRIVE%%HOMEPATH%.gradle\gradle.properties with contents like:
protobuf.include=C:\\path\\to\\protobuf-3.0.0-alpha-2\\src
protobuf.libs=C:\\path\\to\\protobuf-3.0.0-alpha-2\\vsprojects\\Release
'프로그래밍' 카테고리의 다른 글
gRPC Channel (0) | 2018.11.23 |
---|---|
구글 프로토콜 버퍼 (Protocol buffer) (7) | 2017.06.25 |
grpc (google rpc)에 대한 분석 #1 (1) | 2015.04.01 |
구글의 HTTP 기반의 RPC 프로토콜 GRPC (3) | 2015.03.31 |
국내 자바 MVC 프레임웍 사용 현황 (5) | 2009.11.11 |