Glassfish声称该港口已被占用。 Netsat不同意

时间:2018-07-26 12:19:01

标签: windows glassfish port redeploy

我已在端口8080上成功部署了应用程序。 取消部署并杀死所有进程“ java”并清除文件夹:“ domains / domain1 / osgi-cache / felix”和“ domains / domain1 / applications /”之后, 我试图重新部署应用程序。

发生端口被占用。我找不到使用netstat的端口(就像许多其他帖子中所建议的那样),所以我想端口应该可用。

我设法在其他端口上部署(9090)。我再次取消部署,并执行了其他操作,例如杀死和停止域……这是因为该端口也仍然被占用,现在我无法在8080和9090端口上部署应用程序。

我正在使用glassfish 4.1.2和Windows。任何人都有想法我还能做些什么?

我还在“ etc / host”下添加了主机名。

2 个答案:

答案 0 :(得分:1)

从您的帖子描述中,您似乎已尝试遵循Windows系统上针对Linux的一些说明。由于您设法在端口9090上启动了GlassFish,因此表明主机名问题不影响您。之后您无法在端口9090上启动GlassFish的事实表明您没有正确关闭GlassFish。

在Windows上,如果所有Java进程是由另一个用户启动的,则并非总是可以查看它们。因此,如果您将GlassFish安装为Windows服务,则Windows系统用户将启动GlassFish,并且Java进程对您不可见。

验证GlassFish是否仍在运行的一种好方法是在浏览器中访问端点(在您的情况下为http://localhost:9090)。如果您的应用程序在那里,则将显示其主页,否则,GlassFish将提供一个看起来像这样的404:

screenshot of 404 page

如果您设法在浏览器中获得响应,则可以确定GlassFish仍在运行。

答案 1 :(得分:0)

实际上,我没有找到端口被占用的答案。但是,如果其他人发现了类似的问题,则此重新部署过程对我有用: 1:转到Glassfish的管理面板(默认情况下:4848)。选择应用程序,然后单击取消部署 2:使用控制台停止域(asadmin stop-domain domain1) 3:使用控制台启动域(asadmin起始域domain1) 4:转到管理面板(默认情况下:4848),部署应用程序。

此过程对我有用,而不是在管理面板上单击“重新部署”。

玻璃鱼和Windows ...