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

Glassfish claims the port is occupied. Netsat disagree

我已经在端口 8080 上成功部署了应用程序。 取消部署并终止所有进程 "java" 并清理文件夹后:"domains/domain1/osgi-cache/felix" 和 "domains/domain1/applications/" 然后 我尝试重新部署应用程序。

出现端口被占用的情况。我无法使用 netstat 找到该端口(就像许多其他帖子中建议的那样)所以我想端口应该可用。

我设法部署在不同的端口 (9090)。我再次取消部署并执行其他操作,例如杀死和停止域...发生端口仍然被占用,我现在无法在端口 8080 和 9090 上部署应用程序。

我正在使用 glassfish 4.1.2 和 Windows。有人知道我还能做些什么吗?

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

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

在 Windows 上,并非总能查看所有 Java 进程(如果它们是由其他用户启动的)。因此,如果您将 GlassFish 安装为 Windows 服务,则 Windows 系统用户将启动 GlassFish,并且您将看不到 Java 进程。

验证 GlassFish 是否仍然 运行 的一个好方法是在浏览器中访问端点,在您的例子中是 http://localhost:9090。如果您的应用程序在那里,那么它的主页将显示,否则 GlassFish 将提供 404,看起来很像这样:

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

其实我没有找到端口被占用的答案。但是如果其他人发现了类似的问题,这个重新部署的过程对我有用: 1:转到 glassfish 的管理面板(默认:4848)。 Select 应用程序并单击取消部署 2:使用控制台停止域(asadmin stop-domain domain1) 3:使用控制台启动域(asadmin start-domain domain1) 4:进入管理面板(默认:4848),部署应用程序。

此过程对我有用,而不是单击管理面板上的 "redeploy"。

Glassfish 和 Windows...