GoogleAppEngine for Javaを開発する場合の開発環境をいろいろ調べてたんですが、公式はMaven推しだったり、IntelliJ Community版(無償版)ではGAEのFacetが用意されていなかったりなど、以外とこれっていう構成が見つからず、試行錯誤してみました。結論として、AndroidStudio + Gradle
の構成が一番しっくり来たので、その環境構築手順をまとめておきます。
また、恐らくですが、現時点(2016/2/23)では IntelliJ Ultimate
もしくは Eclipse
が一番GAEJを開発するための環境が整っていると思います。お金に不自由しない方であれば素直に IntelliJ Ultimate
を利用するのがベターだと思います。
こんな人におすすめ
- IntelliJ Ultimateのライセンスが買えない、もしくは買いたくない人
- IntelliJの開発に慣れてしまっていまさらEclipseに戻りたくない人
- Gradleに慣れてしまっていまさらMavenに戻りたくない人
- IDEのデバッガ使えないとつらい人
環境情報
- MacOSX
- AndroidStudio1.5.1
- JDK1.7.0_79
インストール
AndroidStudio
JDK
プロジェクトの作成
- File -> New -> New Project からプロジェクトを作成します。
- いったんここではPhone and Tabletを選択します。
- Add No Activityを選択
- プロジェクトができたら、今度は、File -> New -> New Module を選択し、
Google Cloud Module
を選択します。
- Module type に
App Engine Java Servlet Module
を選択します。他は任意です。
- 以下の様なディレクトリツリーができます。
- settings.gradleから'app'を削除して、以下のとおりにします。
include ':backend'
- app ディレクトリを削除します。これでAndroidに対応する部分がなくなります。
- backendフォルダを Refactor -> rename で
app
にリネームします。結果以下のとおりのツリー構造になります。
- Edit Configurationsから、App Engine DevAppServer -> backendを選択し、以下のとおり設定します。また、Andropid Application -> app は利用しないため、削除しても構いません。
ローカルサーバの起動
Run
を実行し、 http://localhost:8080/
にアクセスします。ページが表示されれば問題無いです。またデバッガも使えます。
deploy の実行
Build -> Deploy Module to App Engine...
を選択し、 適切な値を設定します。Deploy toには、GAEのProjectIDを指定してください。
これで問題なくAppEngineにDeployされるはずです。
できないこと
- Cloud Debugging
- これはIntelliJではプラグイン(Facet?)が用意されているのですが、AndroidStudioでは用意されてないようで。。
- あとなんかAndroioStudio2.0.0 beta5だと、New Module を実行すると、Moduleのimlファイルが作成されず、ただのフォルダ扱いになってしまう。ただのバグであってほしい。