使用gcloud命令在devserver中运行模块项目

时间:2014-12-19 14:22:13

标签: google-app-engine maven module gcloud devserver

我使用maven创建了一个带有以下“布局”的项目 - proj-ear - module1-war - module2-war

使用“mvn appengine:devserver”运行此工作正常,两个应用程序/模块都启动并显示在管理控制台中。 但是,我无法使用“mvn gcloud:run”运行它(如果/当我想将模块移动到托管虚拟机时,我认为这是必要的吗?)

我得到:     ...

[INFO] INFO: Starting API server at: `http://localhost:50500`

[INFO] INFO: Starting module "module1" running at: `http://localhost:8080`

[INFO] INFO: Applying all pending transactions and saving the datastore

...

[INFO] google.appengine.tools.devappserver2.wsgi_server.BindError: Unable to bind localhost:8081

[ERROR] Error: gcloud app xxx exit code is: 1

...

使用mvn:run最终调用实际的“gcloud preview app run”命令,所以我不认为这是一个maven问题。

为什么会发生这种情况以及任何想法如何解决?

1 个答案:

答案 0 :(得分:2)

在计算机上运行服务器时,这是一个常见的错误系列。该错误来自wsgi_server代码,该代码尝试在端口8081上打开套接字,我假设为module2。它失败了,可能是因为另一个进程已经声明了端口。

您可以使用Windows的netstat命令或linux / mac的lsof -i来检查哪些进程正在侦听这些端口。终止使用您的devserver将请求的端口的任何进程(可能只是以前的devserver运行)应该允许新的devserver绑定在该端口上。