使用Tomcat或Glassfish,在端口8080上部署多个应用程序没有问题。但是如果您尝试在多个应用程序上同时执行grails run-app(不指定不同的端口),您将收到一个JVM绑定例外。
为什么grails run-app与将.WAR部署到容器不同?
答案 0 :(得分:7)
将.WAR部署到容器
容器本身绑定到端口。容器(Tomcat,Glassfish等)能够托管多个应用程序
grails run-app
旋转绑定到端口的自己的容器。此容器可能能够托管多个应用程序,但这不是您在键入“run-app”时所做的事情
答案 1 :(得分:5)
我不是grails专家,但Tomcat和Glassfish是绑定到一个端口的一个进程/应用程序。然后,他们托管在同一个VM中运行的不同应用程序(Web /企业),并使用上下文根路由请求。
我怀疑grails run-app
在新的JVM实例中将新应用程序作为新进程启动并尝试将其绑定到端口。如果已经存在绑定,那将无效。