266.6. Java 클래스 생성


Protobuf SDK는 .proto 파일에서 정의한 형식에 대한 Java 클래스를 생성하는 컴파일러를 제공합니다. 운영 체제가 Protobuf Java 코드 생성기 maven 플러그인 에서 지원하는 경우 pom.xml에 다음 구성을 추가하여 protobuf Java 코드 생성을 자동화할 수 있습니다.

프로젝트 pom.xml의 < build > 태그 내에 운영 체제 및 CPU 아키텍처 감지 확장 기능을 삽입하거나 ${os.detected.classifier} 매개변수를 수동으로 설정합니다.

<extensions>
  <extension>
    <groupId>kr.motd.maven</groupId>
    <artifactId>os-maven-plugin</artifactId>
    <version>1.4.1.Final</version>
  </extension>
</extensions>

gRPC 및 protobuf Java 코드 생성기 플러그인 &lt ;plugins&gt; 프로젝트 pom.xml을 삽입합니다.

<plugin>
  <groupId>org.xolstice.maven.plugins</groupId>
  <artifactId>protobuf-maven-plugin</artifactId>
  <version>0.5.0</version>
  <extensions>true</extensions>
  <executions>
    <execution>
      <goals>
        <goal>test-compile</goal>
        <goal>compile</goal>
      </goals>
      <configuration>
        <protocArtifact>com.google.protobuf:protoc:${protobuf-version}:exe:${os.detected.classifier}</protocArtifact>
      </configuration>
    </execution>
  </executions>
</plugin>

수동으로 필요한 추가 지원 언어에 대해 컴파일러를 실행할 수도 있습니다.

protoc --java_out=. ./proto/addressbook.proto

그러면 사람 및 주소를 위한 내부 클래스가 포함된 AddresskeygenProtos라는 단일 Java 클래스가 생성됩니다. 빌더도 이를 위해 구현됩니다. 생성된 클래스는 직렬화 메커니즘에 필요한 com.google.protobuf.Message를 구현합니다. 이러한 이유로 이러한 클래스만 교환의 본문에 사용되는 것이 중요합니다. Camel은 Data Format에서 com.google.protobuf.Message를 구현하지 않는 클래스를 사용하도록 알리기 위해 경로 생성에 예외를 발생시킵니다. 생성된 빌더를 사용하여 기존 도메인 클래스의 데이터를 변환합니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.