4

私の build.gradle ファイルでは、デフォルト以外の (module2) AppEngine gradle モジュールに次の構成を使用します。

appengine {
    downloadSdk = true
    httpAddress = "0.0.0.0"
    httpPort = 8081
    appcfg {
        email = "blahemail@domain.com"
        oauth2 = true
    }
}

ただし、「Google AppEngine 構成」を実行すると、モジュールは8081 ではなくsome_random_portで開始されます。これらが実行されるポートを修正したいので、ローカル開発でテスト リクエストを実行するときにそれらのポートに依存できます。サーバ。

私は何を間違っていますか?それとも、これはサポートされていないだけですか?

================================================== ==================== Appengine モジュールの構造:

- root( apply java, ear, appengine)
  - default (apply java, war, appengine) - needs to run on 8080 on local dev server
  - module2 (apply java, war, appengine) - needs to run on 8081 on local dev server

アプリエンジンのバージョン: 1.9.22

Gradle Appengine プラグインのバージョン: 1.9.21

編集

また、各モジュールを独自の「Appengine実行構成」で実行しようとしましたが、モジュールはそれぞれのポートで実行されますが、モジュール間で通信できなくなりました。デフォルト モジュールのサーブレットから module2 でタスクをスケジュールしようとすると、次のエラーが発生します。

com.google.appengine.api.modules.ModulesException: Unknown module
    at com.google.appengine.api.modules.ModulesServiceImpl$ModulesServiceFutureWrapper.convertApplicationException(ModulesServiceImpl.java:365)
    at com.google.appengine.api.modules.ModulesServiceImpl$ModulesServiceFutureWrapper.convertException(ModulesServiceImpl.java:352)
    at com.google.appengine.api.utils.FutureWrapper.get(FutureWrapper.java:96)
    at com.google.appengine.api.modules.ModulesServiceImpl.getAsyncResult(ModulesServiceImpl.java:104)
    at com.google.appengine.api.modules.ModulesServiceImpl.getDefaultVersion(ModulesServiceImpl.java:163)
4

1 に答える 1

3

@crazystick が Maven について回答しました。Gradle 用にやり直した同じソリューションを次に示します。

apply plugin: ear

...

appengine {
    downloadSdk = true
    httpAddress = "0.0.0.0"
    jvmFlags = ['-Dcom.google.appengine.devappserver_module.default.port=8080',
                '-Dcom.google.appengine.devappserver_module.module1.port=8081']
    appcfg {
        email = "blahemail@domain.com"
        oauth2 = true
    }
}
于 2015-06-15T09:21:04.567 に答える