Java 为什么可以';grails是否在同一端口上运行两个应用程序?

Java 为什么可以';grails是否在同一端口上运行两个应用程序?,java,tomcat,grails,Java,Tomcat,Grails,使用Tomcat或Glassfish,在端口8080上部署多个应用程序没有问题。但是如果您尝试同时在多个应用程序上运行grails应用程序(不指定不同的端口),您将收到一个JVM绑定异常 为什么grails run应用程序不同于将.WAR部署到容器中?我不是grails专家,但Tomcat和Glassfish是绑定到一个端口的一个进程/应用程序。然后,它们托管在同一个VM中运行的不同应用程序(web/enterprise),并使用上下文根路由请求 我怀疑grailsrunapp在一个新的JVM实

使用Tomcat或Glassfish,在端口8080上部署多个应用程序没有问题。但是如果您尝试同时在多个应用程序上运行grails应用程序(不指定不同的端口),您将收到一个JVM绑定异常


为什么grails run应用程序不同于将.WAR部署到容器中?

我不是grails专家,但Tomcat和Glassfish是绑定到一个端口的一个进程/应用程序。然后,它们托管在同一个VM中运行的不同应用程序(web/enterprise),并使用上下文根路由请求

我怀疑grails
runapp
在一个新的JVM实例中作为一个新进程启动一个新的应用程序,并试图将其绑定到端口。如果已经有了绑定,那就不行了

将.WAR部署到容器

容器本身绑定到一个端口。容器(Tomcat、Glassfish等)能够承载多个应用程序

grails run应用程序


旋转绑定到端口的自己的容器。此容器可以承载多个应用程序,但当您键入“run app”(运行应用程序)

时,并不是这样做的,而是这样做的。如果您已经设置了tomcat服务器,并且只想在其中安装grails应用程序,那么可以使用“grails tomcat deploy”和“grails tomcat undeploy”脚本在那里运行它,但是您会丢失自动重新加载功能。