Выбор конкретных портов на локальном сервере разработки для модулей не по умолчанию

В моем файле build.gradle я использую следующую конфигурацию для моего модуля Grade AppEngine не по умолчанию (module2):

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

Однако, когда я запускаю свою "конфигурацию Google AppEngine", модуль по-прежнему запускается на some_random_port вместо 8081. Я хочу исправить порты, на которых они работают, так что я могу положиться на эти порты, когда выполняю тестовые запросы в своей локальной разработке сервер.

Что я делаю неправильно? Или это просто не поддерживается?

================================================== ==================== Структура модулей 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

Версия Appengine: 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)

1 ответ

Решение

@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
    }
}
Другие вопросы по тегам