car*_*ost 20 java tomcat intellij-idea
我正在使用Intellij,尝试部署Tomcat应用程序,但每当我尝试运行它时,我都会收到以下错误:
Error: Exception thrown by the agent : java.rmi.server.ExportException: Port already in use: 1098; nested exception is:
java.net.BindException: Address already in use
Run Code Online (Sandbox Code Playgroud)
现在我通过以下方式手动查找在该端口发生的进程:
lsof -i:1098
Run Code Online (Sandbox Code Playgroud)
我找到了java进程并将其杀死了:
ps aux | grep java
kill -9 20386
Run Code Online (Sandbox Code Playgroud)
这很有效,但我必须这样做每次我打开Intellij.如果我想在不退出Intellij的情况下重新运行服务器,我不能,因为我会收到此错误.有没有人知道这个的永久性修复,而不是每次都手动杀死它?
小智 16
这是由于JMX监视Tomcat实例.Tomcat将在端口9999上运行,因此当JMX想要开始检查关闭时,它无法绑定到此端口.
解决此问题的一种方法是定义您的CATALINA_OPTS环境变量.
在JAVA_OPTS中设置这些属性会在启动tomcat和关闭tomcat时尝试启动jmx服务器.因此端口已经在使用异常.您需要为CATALINA_OPTS而不是JAVA_OPTS设置这些属性.这只会在你启动tomcat时运行.
CATALINA_OPTS ="$ CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port = 8999"CATALINA_OPTS ="$ CATALINA_OPTS -Dcom.sun.management.jmxremote.ssl = false -Dcom.sun.management. jmxremote.authenticate =假"
它为我修复的是$ HOME/.bashrc我添加了这个导出:
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8999"
信用:https: //bowerstudios.com/node/636
| 归档时间: |
|
| 查看次数: |
49194 次 |
| 最近记录: |