微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 在本地开发服务器上为非默认模块选择特定端口

在我的build.gradle文件中,我使用以下配置作为我的非认(module2)AppEngine gradle模块:

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运行配置”中运行每个模块,当模块在各自的端口运行时,我无法再在它们之间进行通信.尝试从认模块上的servlet调度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)

解决方法:

@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
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐