java - GAE项目Intellij远程调试关闭时不释放端口

标签 java google-app-engine intellij-idea jetty intellij-14

我正在 Intellij 上构建“Hello World”Google App Engine 应用程序。代码在 GAE 上构建并运行良好。我尝试通过以下页面在 Intellij 本地运行和调试它:https://cloud.google.com/tools/intellij/docs/deploy-local (注意:我正在使用社区添加并遵循社区版的说明)

每次我调试服务器时,它都运行良好,在 localhost:PORT_NUMBER 中显示良好。但是,当我单击“停止调试”(通常单击红色方 block 来结束调试程序)并重新运行它时,我得到以下结果:

[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

如有任何帮助,我们将不胜感激!

最佳答案

我来自构建此插件的团队。

您使用 Maven 和 app-maven-plugin 吗?

我认为您遇到的是文档中的错误。而不是在 Maven 运行配置中使用以下命令:

appengine:start

尝试使用:

appengine:run

前者异步运行开发服务器,这解释了为什么当您点击停止按钮时它没有被终止。

要重新开始(如果您使用的是 OSX),您可以运行以下命令来查找并终止失控进程:

netstat -vanp tcp | grep [replace with your port #]

然后:

kill -9 [process id found via the previous command]

感谢您的报告,我将确保更新文档。

关于java - GAE项目Intellij远程调试关闭时不释放端口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49017743/

相关文章:

python - Unity3d - 在 Google App Engine 上托管

python - 如何使用ndb游标翻到上一页?

intellij-idea - IntelliJ 自动检测每个文件的缩进

java - 内存大小为 16GB 的 Windows8 机器将支持多少 maxheapsize?

java - AspectJ 从依赖编织不适用于项目

java - R.java 不在 Android 中保存 Id

java - 使用没有 ID 的实体

java - GAE应用程序开发: NullPointerException when returning a hashmap

intellij-idea - Intellij:左右移动标签

java - 静态内部类可以扩展它的外部类吗?