次の方法で共有


Azure SDK と Gradle の概要

この記事では、Gradle を使用して Azure SDK for Java でアプリケーションをビルドする方法について説明します。 この記事では、Gradle を使用して新しいプロジェクトを設定し、Gradle を使用してプロジェクトをビルドし、GraalVM ネイティブ イメージ ツールを使用してプラットフォーム固有のネイティブ バイナリを作成します。

前提 条件

  • Java Developer Kit、バージョン8以降。 最適なエクスペリエンスを得るためのバージョン 17 をお勧めします。
  • Gradle

新しい Gradle プロジェクトを作成する

Maven とは異なり、Gradle にはテンプレート形式でプロジェクトをブートストラップするためのアーキタイプ システムがありません。 Gradle プロジェクトのブートストラップは可能ですが、Maven と同等ののような Java 固有の Azure SDK は構成されません。 手順を実行するには、まず次のコマンドを使用して、コマンド ラインから新しい空のディレクトリを作成します。

gradle init --type java-application

短い一連の質問に回答するように求められます。その後、ファイルとサブディレクトリのコレクションを含むディレクトリが作成されます。 生成されたファイルが確実にコンパイルされるようにするには、ビルドを確認するために必要な次のコマンドを実行します。

gradle clean assemble test

これで、アプリ ディレクトリにある build.gradle ファイルの編集に進むことができます。 まず、依存関係のバージョン管理を簡単にするために、Azure SDK for Java チームは、Azure SDK for Java クライアント BOM 毎月発行します。 この BOM ファイルには、互換性のある依存関係バージョンを持つすべての一般公開 (GA) Azure SDK for Java クライアント パッケージが含まれています。

BOM に含まれる Azure SDK for Java クライアント ライブラリの依存関係バージョンを使用するには、build.gradle ファイル プロジェクトに次のスニペットを含めます。 プレースホルダーを、Azure SDK for Java BOMの最新リリース に置き換えます。

dependencies {
    implementation platform('com.azure:azure-sdk-bom:{bom_version_to_target}')
}

Azure SDK for Java クライアント BOM のすべてのリリースは、azure-sdk-bomにあります。 最新バージョンを使用して、Azure SDK for Java クライアント ライブラリの最新の機能を利用することをお勧めします。

Azure SDK for Java BOM に応じて開始したら、バージョンを指定せずにライブラリへの依存関係を含めることができます。 これらのバージョン値は、Azure SDK for Java BOM で自動的に検索されます。 たとえば、azure-storage-blob 依存関係を含めるには、build.gradle ファイルに次の行を追加します。

dependencies {
    implementation 'com.azure:azure-storage-blob'
}

Gradle を使用してプロジェクトの依存関係を定義すると、プロジェクトの管理が簡単になります。 Azure SDK BOM を使用すると、長期的な依存関係のバージョン管理について自信を持ちながら、プロジェクトを加速できます。 BOM を使用して、依存関係を最新の状態に保つことをお勧めします。

BOM に含まれていないパッケージを含める

Azure SDK for Java クライアント BOM には、一般公開 (GA) ライブラリのみが含まれています。 ベータ版のパッケージ、または BOM に含まれているバージョンとは異なるライブラリ バージョンに依存する場合は、依存関係セクションの groupIdartifactId と共に Maven 依存関係バージョンを指定できます。 次の例に示すように、BOM バージョンを使用する依存関係と、オーバーライドされたバージョンを持つ依存関係を同じプロジェクト POM ファイルに含めることができます。

dependencies {
    // Use the dependency version that is in the BOM
    implementation 'com.azure:azure-messaging-eventhubs'

    // Override the Service Bus dependency version specified in the BOM
    implementation 'com.azure:azure-messaging-servicebus:7.4.0'
}

この方法を使用し、プロジェクトでバージョンを直接指定すると、依存関係のバージョンの競合が発生する可能性があります。 これらの競合は、異なるパッケージが一般的な依存関係の異なるバージョンに依存する可能性があり、これらのバージョンが互いに互換性がない可能性があるために発生します。 競合が発生すると、コンパイル時または実行時に望ましくない動作が発生する可能性があります。 必要な場合を除き、Azure SDK BOM に含まれるバージョンに依存することをお勧めします。 Azure SDK for Java を使用する場合の依存関係の処理の詳細については、「依存関係バージョンの競合のトラブルシューティング」を参照してください。

GraalVM を使用してネイティブ イメージを構築する

GraalVM を使用して、Java アプリケーションのネイティブ イメージを作成できます。 GraalVM は、Java コードを事前にネイティブ コンピューター コードにコンパイルします。これにより、特定の状況でパフォーマンスが大幅に向上する可能性があります。 Azure SDK for Java では、GraalVM ネイティブ イメージのコンパイルをサポートするために、各クライアント ライブラリに必要なメタデータが提供されます。

開始するには、GraalVM をインストールし、ネイティブ イメージをコンパイルするための開発システムを準備する必要があります。 GraalVM のインストール プロセスは簡単です。GraalVM のドキュメントでは、GraalVM をインストールし、GraalVM を使用してネイティブ イメージをインストールする手順を説明しています。 の前提条件 セクションに注意して従って、オペレーティング システムに必要なネイティブ コンパイラをインストールします。

既存の Gradle ベースのプロジェクトで、Gradle の手順 に従ってプロジェクトに GraalVM サポートを追加する方法 を学ぶことができます。 その後、ビルド オプションが増え、アプリケーションを標準の Java バイトコードにコンパイルしたり、GraalVM によってコンパイルされたネイティブ イメージにコンパイルしたりできます。

次に、ネイティブ イメージ ビルドを実行する準備ができました。 標準の Gradle ツールを使用して、GraalVM ネイティブ イメージを使用できます。 Gradle の場合は、次のコマンドを使用します。

gradle nativeCompile

このコマンドを実行すると、GraalVM は実行されているプラットフォームのネイティブ実行可能ファイルを出力します。 実行可能ファイルは、プロジェクトの Gradle /app/build/native/nativeCompile ディレクトリに表示されます。 これで、この実行可能ファイルを使用してアプリケーションを実行できるようになり、標準の Java アプリケーションと同様に実行されます。

次の手順