중요!!
- 해당 포스트는 VSCode기준으로 설명되어있습니다.
- VSCode에서 Spring Boot 개발하기를 참고해주세요.
vscode 탐색기에서 우클릭 > Maven > New Project...
No Archetype 선택 > groupid, project name을 입력하여 새 프로젝트 생성
중요!!
- plugin configuration에 정의된 proto파일의 경로 (protoSourceRoot)를 반드시 지정해주세요!!
- 해당 예시에서는 <protoSourceRoot>${project.basedir}/src/protos</protoSourceRoot>
<properties>
<protobuf.version>3.23.4</protobuf.version>
<protobuf-plugin.version>0.6.1</protobuf-plugin.version>
<grpc.version>1.58.0</grpc.version>
</properties>
<dependencies>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-stub</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<groupId>io.grpc</groupId>
<artifactId>grpc-protobuf</artifactId>
<version>${grpc.version}</version>
</dependency>
<dependency>
<!-- Java 9+ compatibility - Do NOT update to 2.0.0 -->
<groupId>jakarta.annotation</groupId>
<artifactId>jakarta.annotation-api</artifactId>
<version>1.3.5</version>
<optional>true</optional>
</dependency>
</dependencies>
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.7.0</version>
</extension>
</extensions>
<plugins>
<plugin>
<groupId>org.xolstice.maven.plugins</groupId>
<artifactId>protobuf-maven-plugin</artifactId>
<version>${protobuf-plugin.version}</version>
<configuration>
<protocArtifact>com.google.protobuf:protoc:${protobuf.version}:exe:${os.detected.classifier}</protocArtifact>
<pluginId>grpc-java</pluginId>
<pluginArtifact>io.grpc:protoc-gen-grpc-java:${grpc.version}:exe:${os.detected.classifier}</pluginArtifact>
<!-- 중요!! 정의된 proto파일의 경로를 지정해주세요 -->
<protoSourceRoot>
${project.basedir}/src/protos
</protoSourceRoot>
</configuration>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>compile-custom</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
mvn pacakge
명령어로 pacakge를 빌드한다.
이렇게 빌드된 jar파일을 원하는 프로젝트에 추가해서 사용하면된다.
## proto 파일 경로의 파일만 관리
src/*
!src/protos
## target에서 jar만 관리
target/**
!target/**/*.jar