我正在构建" Hello World" Intellij上的Google App Engine应用程序。代码在GAE上构建并运行良好。我试着通过以下页面在Intellij中本地运行和调试它:https://cloud.google.com/tools/intellij/docs/deploy-local (注意:我使用社区添加并遵循社区版的说明)
每次调试服务器时,它运行正常,显示在localhost:PORT_NUMBER罚款。但是,当我点击"停止调试" (您经常点击以结束调试程序的红色方块)并重新运行它,我明白了:
[INFO] GCLOUD: Could not open the requested socket: Address already in use
[INFO] GCLOUD: Try overriding --address and/or --port.
显然每次启动服务器并将其关闭时,端口都不会正常释放。我尝试多次更改端口号,每次服务器在第一次运行时都正常运行,之后无法获取端口号。
请注意,停止服务器后,localhost:PORT_NUMBER不再显示hello world字符串。而是显示
HTTP ERROR: 404
Problem accessing /. Reason:
NOT_FOUND
Powered by Jetty://
代替通常"此网站无法到达"消息为不存在的端口。
$ netstat -na | grep ':81'
tcp6 0 0 :::8176 :::* LISTEN
tcp6 0 0 :::8177 :::* LISTEN
tcp6 0 0 :::8178 :::* LISTEN
tcp6 0 0 :::8179 :::* LISTEN
tcp6 0 0 :::8180 :::* LISTEN
tcp6 0 0 :::8181 :::* LISTEN
任何帮助将不胜感激!
答案 0 :(得分:1)
我来自构建此插件的团队。
您使用的是Maven和app-maven-plugin
吗?
我认为您遇到的是文档中的错误。而不是在Maven运行配置中使用以下命令:
appengine:start
尝试使用:
appengine:run
前者异步运行dev服务器,这解释了当你点击停止按钮时它没有被杀死的原因。
要重新开始(如果您使用的是OSX),可以运行以下命令来查找并终止失控过程:
netstat -vanp tcp | grep [replace with your port #]
然后:
kill -9 [process id found via the previous command]
感谢您的举报,我们一定会更新文档。