当我尝试在我的 tomcat 服务器上运行 liferay portlet 时出现异常

Posted

技术标签:

【中文标题】当我尝试在我的 tomcat 服务器上运行 liferay portlet 时出现异常【英文标题】:Exception when I try to run a liferay portlet on my tomcat server 【发布时间】:2017-03-07 07:59:57 【问题描述】:

这是我得到的:

Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 8099; nested exception is: java.net.BindException: Address already in use: JVM_Bind.

不得不提的是,我使用liferay 7.0 ga3tomcat 8.0.32,我的ide是eclipse luna

我尝试在命令行中运行 start rmiregistry some_port,但它什么也没做,只是弹出一个窗口,实际上什么也没做。 谢谢!

【问题讨论】:

端口已在使用中 【参考方案1】:

Tomcat 使用端口 8099 进行 JMX 通信(这对于调试至关重要)。已经有另一个进程在使用此端口。以下是一些可能性:

一般来说,完成其他过程更实际。 很多次,另一个过程是 Spotify。你在使用 Spotify 吗?如果是这样,只需完成它,启动 Liferay,然后重新打开 Spotify。烦人但直截了当。

您启动了另一个 Tomcat 捆绑包。在这种情况下,您只需将其关闭即可。

之前的 Liferay 执行刚刚崩溃,并让恶意 Java 进程监听该端口。这种情况下,去终端执行jps

  $ jps
  28058 org.eclipse.equinox.launcher_1.3.200.v20160318-1642.jar
  1787 Bootstrap
  14207 Jps

杀死标记为Bootstrap的进程:

  $ kill -9 1787

从技术上讲,您可以更改 Tomcat 上的端口。打开服务器配置,点击“打开启动配置”。然后,转到“参数”选项卡并查找8099。基本上,按照下面的 GIF:

但是,我不知道它的所有后果。我以前是用没有 LDS 的 Tomcat 服务器做的,不知道用 LDS 会带来什么问题。

【讨论】:

【参考方案2】:

请检查liferay-dxp-(version)-ga1\tomcat-(version)\conf文件夹下的server.xml文件中是否提到了关机端口。

使用以下命令查找 Windows 机器上运行的端口:

netstat /nao | findstr "80"

然后将关闭端口更改为任何可用端口,例如 8010:

<Server port="8010" shutdown="SHUTDOWN">

重启服务器。

如果关闭端口已被使用,请尝试此步骤。

【讨论】:

以上是关于当我尝试在我的 tomcat 服务器上运行 liferay portlet 时出现异常的主要内容,如果未能解决你的问题,请参考以下文章

Ktor 和远程 tomcat 部署

Tomcat 连接到 SQL 服务器

tomcat UnsupportedClassVersionError

如何访问在tomcat上运行的项目中的文件夹

我需要在我的服务器上的同一个 Tomcat 7 中运行 Pentaho CE BI-Server 和 Geoserver

当我尝试在服务器上运行 java web-app 时出现问题