252.5. Java クラスの生成


Protobuf SDK は、.proto ファイルで定義した形式の Java クラスを生成するコンパイラーを提供します。オペレーティングシステムが Protobuf Java コードジェネレーター maven プラグイン でサポートされている場合は、以下の設定を pom.xml に追加することで、protobuf Java コードの生成を自動化できます。

プロジェクトの pom.xml の < build > タグまたは ${os.detected.classifier} パラメーター内にオペレーティングシステムおよび CPU アーキテクチャー検出拡張を手動で挿入します。

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

プロジェクトの pom.xml の gRPC および protobuf Java コードジェネレータープラグ イン <plugins > タグを挿入します。

<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

これにより、Person および AddressBook の内部クラスが含まれる AddressBookProtos という名前の単一の Java クラスが生成されます。ビルダーも実装されます。生成されたクラスは com.google.protobuf.Message を実装します。これは、シリアライズメカニズムに必要です。このため、これらのクラスのみがエクスチェンジのボディーで使用されることが重要です。Camel は、com.google.protobuf.Message を実装しないクラスを使用するように Data Format に伝えると、ルートの作成時に例外をスローします。生成されたビルダーを使用して、既存のドメインクラスからデータを変換します。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る