【发布时间】:2015-09-29 09:55:52
【问题描述】:
【问题讨论】:
-
该错误通常是指在后台某处运行另一个应用程序服务器副本并且端口 1099 已打开的事实。您能否检查一下其他正在运行的 java 进程?
标签: java tomcat intellij-idea
【问题讨论】:
标签: java tomcat intellij-idea
仔细查看服务器的输出,看看原因,为什么Tomcat没有启动:
java.net.UnknownHostException: nitesh-pc: nitesh-pc
这可能意味着您的 hosts 文件有问题(在 OS Windows 中,它可以在 {WindowsFolder}\System32\drivers\etc\hosts 中找到)。您只需要将您的主机名添加到 localhost ip-address(如果需要,请不要忘记取消注释),例如:
127.0.0.1 localhost nitesh-pc
然后再次尝试重新启动您的服务器。
【讨论】:
我遇到了一个问题,Tomcat 似乎已经在 IntelliJ 中启动,但是当我尝试打开 Tomcat 主页时,我在浏览器中收到“HTTP 404 Not Found”。 独立启动 Tomcat(从命令提示符运行 startup.bat)启动了 Tomcat,我可以看到主页正常。
我比较了独立运行和在 IntelliJ 中运行的输出,发现 CATALINA_BASE 不同。
所以我在 Tomcat bin 目录中创建了一个 setenv.bat 文件(它最初不存在)并在那里设置 CATALINA_BASE,如下所示: 设置 CATALINA_BASE=C:\apache-tomcat-8.5.14
之后,Tomcat从IntelliJ启动,我就可以访问主页了。
只是把它放在那里,因为我不知道为什么当 Tomcat 似乎启动正常时页面不可用。 希望这会对某人有所帮助。
【讨论】:
如果机器有多个或不断变化的 IP 地址(例如在使用 VPN 或 Hyper-V、Docker 或其他虚拟化时),则可能会发生这种情况。
解决方案是定义 Tomcat 应该用于 RMI 的 IP 地址:
-Djava.rmi.server.hostname=127.0.0.1
(对于在本地运行的 Tomcat 来说,这是一个合理的默认设置,但您的设置可能需要不同的设置。)
必须设置它,以便将其用作 JVM 的命令行参数。这可能在 IntelliJ 或 Tomcat 本身中(对于 Linux 系统的 bin/setenv.sh 在 Tomcat 目录中,对于 Windows 服务,它通常在 HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\Tomcat9\Parameters\Java\Options 中。
【讨论】: