依存関係の指定

App Engine フレキシブル環境では、Java 互換ライブラリを Java ランタイムとともに使用できます。この手順では、Apache Maven を使用し、Java ランタイム バージョン 8 とバージョン 11/17 を使用してサンプルアプリを構築、実行、デプロイします。新しいバージョンを使用するには app.yaml を更新する必要があることに注意してください。新しいランタイムの使用の詳細については、Java ランタイムをご覧ください。Maven のインストールについては、Apache Maven および App Engine プラグインを使用するをご覧ください。

依存関係の宣言と管理

Maven を使用して依存関係を管理するには、プロジェクトの pom.xml ファイル内にある <dependencies> セクションで依存関係を指定する必要があります。

プロジェクトの Maven 自体への依存関係を管理するには、Maven ラッパーを使用します。Maven ラッパーを使用しない場合、App Engine はデフォルトで gcloud app deploy の実行時に最新バージョンの Maven を使用します。

Java サーブレット ライブラリを指定する

Eclipse、Jetty、Tomcat アプリには、Java サーブレット ライブラリが必要です。これは、pom.xml ファイルの <dependencies> エントリで指定します。

バージョン 11 / 17

<dependency>
  <groupId>com.example.appengine</groupId>
  <artifactId>simple-jetty-main</artifactId>
  <version>1</version>
  <scope>provided</scope>
</dependency>

バージョン 8

<dependencies>

  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <type>jar</type>
    <scope>provided</scope>
  </dependency>

</dependencies>
SparkJavaSpring Boot などのフレームワークには、サーブレット ライブラリは必要ありません。

Cloud クライアント ライブラリを使用する

Google Cloud サービスへの慣用的なアクセスには、Java 用 Cloud クライアント ライブラリを使用します。ライブラリを使用するには、ライブラリを依存関係として宣言します。

通常、アプリに必要な特定のライブラリのみに依存関係を宣言します。たとえば、Cloud Storage ライブラリを使用するには次のようにします。

<!--  Using libraries-bom to manage versions.
See https://github.com/GoogleCloudPlatform/cloud-opensource-java/wiki/The-Google-Cloud-Platform-Libraries-BOM -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>26.28.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-storage</artifactId>
  </dependency>
</dependencies>

Java 用 Cloud クライアント ライブラリを構成して、自動で認証を処理できます。