Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在Tomcat上安装两个grails应用程序导致异常_Java_Apache_Tomcat_Grails - Fatal编程技术网

Java 在Tomcat上安装两个grails应用程序导致异常

Java 在Tomcat上安装两个grails应用程序导致异常,java,apache,tomcat,grails,Java,Apache,Tomcat,Grails,我需要安装带有两个grails应用程序的Tomcat。 两种应用程序都应使用8080,如下所示: 本地主机:8080/app1 本地主机:8080/app2 我试图把我的两个war文件放在webapps文件夹中,然后上传服务器。 服务器上载时,我在catalina.out日志文件中遇到此异常: 2014年4月23日下午1:27:27 org.apache.coyote.AbstractProtocol init 信息:初始化ProtocolHandler[http-bio-8080]2014年4

我需要安装带有两个grails应用程序的Tomcat。 两种应用程序都应使用8080,如下所示: 本地主机:8080/app1 本地主机:8080/app2

我试图把我的两个war文件放在webapps文件夹中,然后上传服务器。 服务器上载时,我在catalina.out日志文件中遇到此异常:

2014年4月23日下午1:27:27 org.apache.coyote.AbstractProtocol init 信息:初始化ProtocolHandler[http-bio-8080]2014年4月23日 下午1:27:27 org.apache.coyote.AbstractProtocol初始化严重:失败 初始化与ProtocolHandler关联的端点 [http-bio-8080]java.net.BindException:地址已在使用中 :8080 at org.apache.tomcat.util.net.JIoEndpoint.bindJIoEndpoint.java:410 在 org.apache.tomcat.util.net.AbstractEndpoint.initAbstractEndpoint.java:640 在 org.apache.coyote.AbstractProtocol.initAbstractProtocol.java:434 在 org.apache.coyote.http11.AbstractHttp11JsseProtocol.initAbstractHttp11JsseProtocol.java:119 在 org.apache.catalina.connector.connector.initInternalConnector.java:978 在 org.apache.catalina.util.LifecycleBase.initLifecycleBase.java:102 在 org.apache.catalina.core.StandardService.initInternalStandardService.java:559 在 org.apache.catalina.util.LifecycleBase.initLifecycleBase.java:102 在 org.apache.catalina.core.StandardServer.initInternalStandardServer.java:813 在 org.apache.catalina.util.LifecycleBase.initLifecycleBase.java:102 位于org.apache.catalina.startup.catalina.loadCatalina.java:638 位于org.apache.catalina.startup.catalina.loadCatalina.java:663 在sun.reflect.NativeMethodAccessorImpl.invoke0Native方法中 在 sun.reflect.NativeMethodAccessorImpl.invokeNativeMethodAccessorImpl.java:57 在 sun.reflect.DelegatingMethodAccessorImpl.invokeDelegatingMethodAccessorImpl.java:43 java:606 at org.apache.catalina.startup.Bootstrap.loadBootstrap.java:280 at org.apache.catalina.startup.Bootstrap.mainBootstrap.java:454

因此,我需要知道上传带有两个grails应用程序的tomcat的最佳实践是什么


感谢您的帮助。

这些war文件是如何生成的?圣杯战争

我经常在Tomcat上部署Grails应用程序。由于8080端口上没有运行其他服务,这可能是Tomcat中的一些垃圾导致的问题。因此,避免发现自己在Tomcat的内部工作中浪费时间。如果可以,您的示例是使用localhost,那么一个快速的解决方案可能是尝试重新安装Tomcat。否则,请尝试清理工作目录和临时目录

您还询问了最佳实践。。。如果可以停止Tomcat,那么就停止,将.war文件放在webapps文件夹中,然后在重新启动之前清理工作目录和临时目录。否则,只需将.war文件放入webapps文件夹或通过Tomcat Manager应用程序发送即可http://localhost:8080/manager. 然而,在一些重新部署之后,通常会出现PermGen空间错误。在这种情况下,您唯一的选择是重新启动Tomcat


作为另一个提示,Tomcat Manager的更好替代方案是PSI Probe,它提供了有关您的应用程序和Tomcat的更多信息和控制。

是否还有其他Tomcat运行的实例?奇怪的是,我不确定,但您可以试试这个netstat-tulpn | grep 8080。查看此端口上是否正在运行任何进程。尝试杀死它并重新启动你的tomcat。它给了我一行代码:tcp 0:::8080:::*听着2743/javai怀疑有tomcat在后台运行。使用ps-ef | greptomcat将为您提供进程的进程id。使用kill-9或killall-java,然后重新启动tomcat。我试着做到这一点。通过运行这个命令,我只运行了一个进程,我杀死了它。我已经删除了temp和****work***目录,但它不起作用。您是否尝试了新的安装,只是解包了Tomcat zip/tar.gz?只是为了知道这是否是Tomcat安装问题。。。