このチュートリアルを完了するには、適切なバージョンの Java と Mavenが必要です。 Maven is a useful build automation/packaging tool for Java projects that manages build execution and also dependencies.
Java 7、できればエンタープライズ版の使用を推奨します。
Java 8を使用している場合は、ソースおよびターゲットとして Java 7 を指定する必要があります。
Mavenでは、プロジェクトのpom.xml
ファイル内に記述された、maven-compiler-plugin
のconfiguration 項目でこれを設定します。:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<version>3.2</version>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
製品版のインスタンスはJava 7なので、これで製品版App Engine上で配置や実行ができるアプリケーションになります。 しかし、開発PCでJava 8 を使用していてローカルのデベロップメントサーバを使ってこのアプリを実行しようとした場合、 Java 8上で動作しているので、Java 7 向けにコンパイルされたアプリケーションであっても互換性の問題が発生するでしょう。 ローカルでのテストの場合はJava 7 SDKの使用を推奨します。
Javaをインストールしていない場合は、以下の手順に従って,Java バージョン7用のJava Development Kit (JDK) をダウンロードしてください:
JDKをダウンロードしてインストールしてください。
JAVA_HOME
環境変数を設定してください。bash
シェルを使用している場合は以下の作業をします:
通常のLinux でのインストールの場合、.bashrc
ファイルに以下のような行を追加してください:
export JAVA_HOME=/usr/local/tools/java/<jdk_version>
<jdk_version>
には、例えばjdk1.7.0_45.jdk
のような、あなたが使用している JDK バージョンが入ります。
Mac OS X と既定のターミナルアプリを使用している場合、既定ではシェルのセッションは.bashrc
を読み込みません。
そのため、.bash_profile
に以下のような行を追加する必要があります::
[ -r ~/.bashrc ] && source ~/.bashrc
Mac OS X を使用して既定のターミナルアプリを使用していない、例えば tmuxのようなターミナルアプリを使用している場合は、 .bashrc
ファイルに以下のような行を追加する必要があります。:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/<jdk_version>/Contents/Home
<jdk_version>
には、例えばjdk1.7.0_45.jdk
のような、あなたが使用している JDK バージョンが入ります。
他にも、あなたの使っているOSが/usr/libexec/java_homeをサポートしている場合は、以下のようにexport コマンドで現在のJDK バージョンをリクエストできます:
export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
このチュートリアルでは、 Apache Maven 3.1 以上のバージョンが必要です。 Maven がインストールされているか、バージョンは何かを判別するには、以下コマンドを実行します:
mvn -v
このコマンドは、Apache Maven 3.1.0
のような情報で始まる長い文字列を表示します。
あなたのPCに Maven がインストールされていない場合は、Apache Maven のウェブサイトからMaven をダウンロードしてApache Maven instructionsを使ってインストールできます。
Mavenを使用している場合、Google App Engine SDKからJava ライブラリをダウンロードする必要はありません。 Maven があなたに代わってダウンロードを行います。 また、 Maven を使用するとローカルでのアプリテストや製品版App Engineへのアップロード(配置)もできます。