我是 Grails 新手,正在尝试实现 grails.org 入门指南中描述的 Hello World 应用程序。
我在 Ubuntu Server 16.04 VM(VirtualBox,作为服务运行)上使用 SDKman 安装了 Grails。我的主机是 Windows 10。
我在 VirtualBox 中配置了两个网络适配器:第一个是带端口转发的 NAT(3022 主机 -> 22 个访客,8080 主机 -> 8080 个访客),第二个是 Host-Only 适配器。
我可以从我的 Windows 主机通过 SSH 连接到我的虚拟机(使用 Bash):ssh -p 3022 user@localhost
当我从该 SSH session 运行 python3 -m http.server 8080
时,它成功地监听了 localhost:8080 和 :8080。我可以从主机上的浏览器访问这两个 URL。
当我运行 grails run-app
时,它永远挂起,并且上述端点都无法在我的主机上运行。
当我运行 grails run-app --verbose
时,我看到它通过“Building 85% > :bootRun”毫无怨言地编译。我知道这是 expected behavior ,但我从未看到“应用程序已启动”或任何类似消息。它永远不会开始。
有一次以下命令成功构建并运行了应用程序,创建了我需要的结果:
grails -Dserver.port=8080 -Dserver.host=0.0.0.0 run-app --verbose --stacktrace
然而,当我停止该应用程序并再次尝试时,它仍然像以前一样失败。
我注意到我设置为“Host-Only Network”的 VirtualBox > Settings > Network > Adapter #2 多次重置为桥接。我怀疑这次重置可能导致了我的问题。但我不知道如何防止重置,或恢复我曾短暂拥有的功能。
谢谢,任何可以提供帮助的人!
最佳答案
已解决!事实证明,run-app 只需要很长时间才能完成编译和构建,超过 10 分钟。所以我只需要等待大约 5 分钟以上,在完成消息显示之前没有任何可见的 Action 迹象,我就可以访问我的网站。 :)
关于linux - Grails run-app 在 VM VirtualBox : hangs on build, 上失败无法访问服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44167225/