mac系统下使用IntelliJ IDEA中的Tomcat报错问题

本文介绍了在Mac系统中使用IntelliJ IDEA运行Tomcat时遇到的两个常见错误:'Address localhost:80 is already in use'和'Permission denied'。错误一是由于80端口被占用,而错误二是由于1024及以上端口没有权限。解决方法包括以root权限启动IDEA来解决80端口问题,以及通过修改目录权限来解决高端口权限问题。详细步骤包括如何用root打开IDEA以及在Tomcat目录下执行'chmod -R 777 *'命令来赋予所有文件和目录可执行权限。

mac系统下使用IntelliJ IDEA中的Tomcat报错问题:Address localhost:80 is already in use

Error running ‘Tomcat 8.0.41’: Address localhost:80 is already in use

Error running ‘Tomcat 8.0.41-81’: Cannot run program “/Users/。。。/。。。/apache-tomcat-8.0.41/bin/catalina.sh” (in directory “/Users/。。。/I。。。/apache-tomcat-8.0.41/bin”): error=13, Permission denied

一、状况描述

我在使用tomcat的时候将端口号写为80的时候无法时启动,报错信息表示已被使用,报错信息如下:
Error running ‘Tomcat 8.0.41-81’: Address localhost:80 is already in use

而将端口号改为8080时又显示报错没有权限,报错信息如下:
Error running ‘Tomcat 8.0.41-81’: Cannot run program “/Users/。。。/。。。/apache-tomcat-8.0.41/bin/catalina.sh” (in directory “/Users/。。。/I。。。/apache-tomcat-8.0.41/bin”): error=13, Permission denied

二:经过寻找资料后得出结论:

1、mac禁止了普通用户访问1024以下的端口,包括80端口。
2、通过eclipse启动tomcat,可以正常启动,使用80端口,但是通过IDEA启动tomcat,会显示80端口被占用
3、而使用1024及以后的端口报错是因为没有给他权限,需要打开权限

三:解决方法

1:1024以下端口被占用

需要使用root打开idea即可解决,具体方法见
注意:当解决问题1后,你的所有端口都会变成问题2的错误,一运行就是问题2的错误信息

2:1024及以上端口没有权限

由于权限被占用,需要打开权限
在tomcat 目录 打开终端执行

chmod -R 777 *

详解见

四:如何用root打开idea

打开终端执行代码

sudo "/Applications/iTunes.app/Contents/MacOS/iTunes"

最后点击return也就是回车

或者打开终端输入sudo和一个空格然后将最后的那个idea拖进去也是一样的,最后点击return也就是回车,那个idea在如下图片位置中

点击显示包内容


将这个idea拖进终端

五:打开权限详解

1:选中你所使用的Tomcat然后右键点击“新建位于文件夹位置的终端端口”

请添加图片描述

2:然后在终端里输入

chmod -R 777 *

运行即可

<think>好的,用户遇到了IntelliJ IDEA 2021中配置Tomcat的JMX端口导致的错误,需要解决方案。首先,我需要回想一下JMX在Tomcat中的作用,以及常见的配置错误。 JMX(Java Management Extensions)用于监控和管理Java应用。在Tomcat中配置JMX通常需要设置JVM参数,包括端口号、认证等。IDEA中配置Tomcat时,如果JMX端口设置不正确,可能会导致连接失败或启动错误。 接下来,用户提到的是IDEA 2021版本,可能需要考虑该版本特定的配置方式。常见的错误可能包括端口冲突、防火墙阻止、或参数格式错误。我需要分步骤说明如何正确配置JMX端口,并检查潜在问题。 第一步,正确配置JMX参数。在Tomcat的启动配置中,VM options需要添加正确的-D参数,如com.sun.management.jmxremote.port,以及相关的ssl和认证设置。需要确保端口未被占用,比如使用1099或其他可用端口。 第二步,检查端口冲突。用户可能设置的端口已被其他应用占用,导致Tomcat启动失败。可以通过命令行工具如netstat或lsof来检查端口使用情况。 第三步,关闭SSL。如果不需要SSL,可以禁用相关参数,避免因SSL配置问题导致连接失败。例如,设置com.sun.management.jmxremote.ssl为false。 第四步,禁用认证。为了简化调试,暂时关闭JMX认证,设置com.sun.management.jmxremote.authenticate为false。但需注意生产环境中不建议这样做。 第五步,防火墙设置。确保防火墙允许JMX端口的入站和出站连接,特别是在Linux服务器上可能需要调整iptables或firewalld规则。 第六步,检查IDEA版本兼容性。有时IDEA版本与Tomcat或JDK版本可能存在兼容性问题,建议更新到最新版本,或查看官方文档是否有已知问题。 此外,需要引用相关的参考资料,但用户提供的引用内容似乎与JMX配置无直接关联。可能需要忽略这些引用,或者寻找其他相关资源。但根据用户提供的引用,比如引用[1]提到DevTools的热更新和Tomcat集成,可能与Tomcat配置有关联,但不确定。可能需要忽略不相关的引用,专注于JMX配置本身。 最后,生成相关问题,帮助用户进一步排查问题,例如如何检查端口占用,JMX的更多配置选项,以及IDEATomcat的其他常见错误。</think>在IntelliJ IDEA 2021中解决Tomcat JMX端口配置错误,可通过以下步骤操作: ### 一、正确配置JMX参数 1. 打开**Run/Debug Configurations** 2. 在Tomcat配置的**VM options**中添加: ```shell -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=localhost ``` 其中`1099`为JMX端口号,需确保未被占用[^1] ### 二、检查端口冲突 1. 在终端执行命令检测端口占用: ```shell # Windows netstat -ano | findstr 1099 # Linux/Mac lsof -i :1099 ``` 2. 若端口被占用,修改为其他值(如`8999`) ### 三、关闭SSL和认证(仅限开发环境) 1. 强制关闭SSL验证避免证书问题: ```shell -Dcom.sun.management.jmxremote.ssl=false ``` 2. 临时禁用身份认证简化调试: ```shell -Dcom.sun.management.jmxremote.authenticate=false ``` ### 四、防火墙设置 1. 确保操作系统防火墙开放JMX端口 2. 在Linux服务器执行: ```shell sudo ufw allow 1099/tcp ``` ### 五、验证配置有效性 1. 通过`jconsole`连接测试: ```shell jconsole localhost:1099 ``` 2. 观察IDEA控制台是否出现`JMX connector started`日志 ### 六、IDEA版本兼容性处理 1. 升级至最新IDEA版本(2021.3+) 2. 检查**Help > Check for Updates**中的Tomcat插件更新
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值