当我尝试在服务器上运行 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模式)

Angular Web-app 麦克风切换导致错误“NotReadableError:并发麦克风进程限制”

当我尝试在远程 Linux 节点上更改 Eclipse 中的设置时,X 服务器崩溃