当我尝试在服务器上运行 java web-app 时出现问题
Posted
技术标签:
【中文标题】当我尝试在服务器上运行 java web-app 时出现问题【英文标题】:A problem occurred when I tried to run a java web-app on server 【发布时间】:2011-05-06 09:28:02 【问题描述】:我使用 java EE 的 eclipse 作为我的 IDE 和 tomcat 作为我的服务器。问题来了:
本地主机上的 Tomcat v5.5 服务器所需的多个端口(8080、8009)已在使用中。服务器可能已经在另一个进程中运行,或者系统进程可能正在使用该端口。要启动此服务器,您需要停止其他进程或更改端口号。
【问题讨论】:
【参考方案1】:正如例外所说 - 您有一个正在运行的 Tomcat 实例(或者,不太可能,其他东西),它占用端口 8080 和/或 8009。怎么办:
如果你已经启动了tomcat,找到它并停止它:使用/etc/init.d/tomcat stop
,或administrative tools > services > apache tomcat > stop
,或shutdown.sh / shutdown.bat
如果不是你,找到tomcat的进程并杀死它(windows上的任务管理器,在nix上类似ps ux
)
如果找不到,请重新启动
【讨论】:
【参考方案2】:看起来您已经运行了一个 Tomcat。 Eclipse 可能无法停止 Tomcat,现在它尝试再次运行它,但它不能。查找并终止现有进程或重新启动。
【讨论】:
【参考方案3】:在命令提示符下发出 tasklist 命令。 它应该将 tomcat 显示为进程之一。您可以通过发出 taskkill /IM "image_name" 或 taskkill /PID "process_id" 来杀死它
【讨论】:
【参考方案4】:其他人提到您可以尝试追踪正在使用这些端口的内容(可能是另一个 Tomcat 实例?),然后将其杀死。但是,可能是 Windows 本身正在使用它们。
杀死恶意程序或重新启动可能会暂时解决问题,但为了防止再次发生这种情况,您需要保留所需的端口。 KB812873 解释了如何做到这一点。
免责声明:这篇知识库文章适用于 Windows Server 2003 和 Windows 2000,我已经有一段时间没有这样做了(对于一些 Windows Server 2003 安装)。但是我想这对于 Windows 7 来说是一样的。如果不是,有人会纠正我:-)
【讨论】:
【参考方案5】:Tomcat v5.5 服务器在 localhost 所需的多个端口(8080、8009)已在使用中。
您不需要在 8080 或 8009 上运行 Tomcat。我使用的是 Eclipse 8.6。例如,我已将 Tomcat 端口设置为 8086。 以下是执行此操作的步骤:
停止 Tomcat。
点击运行/停止/重启下拉按钮
选择 MyEclipse Tomcat
单击配置连接器
将端口更改为您认为空闲的端口。
为确保您看到这些选项,请确保您拥有最新版本的 MyEclipse。
【讨论】:
以上是关于当我尝试在服务器上运行 java web-app 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
当我尝试在我的 tomcat 服务器上运行 liferay portlet 时出现异常
Progressive Web-Apps 真的可以在 iOS 上运行吗?
在 Tomcat 5.5 中部署 web-app 时如何解决错误 listenerStart?
Java EE: XML Schemas for Java EE Deployment Descriptors(Java Web的web.xml头web-app标签上的XML模式)