在IntelliJ终端运行Maven仍提示Operation not permitted的问题排查
解决IntelliJ内置终端执行Maven提示“Operation not permitted”问题
问题背景
macOS 13.2.1系统中,系统终端可正常运行Maven,但IntelliJ内置终端执行mvn命令时持续提示“Operation not permitted”,具体情况如下:
系统终端执行结果
letsun@letsun-mac ais% mvn --version Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f) Maven home: /Users/letsun/Downloads/apache-maven Java version: 1.8.0_371, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk-1.8.jdk/Contents/Home/jre Default locale: en_US, platform encoding: UTF-8 OS name: "mac os x", version: "13.2.1", arch: "x86_64", family: "mac" letsun@letsun-mac ais% letsun@letsun-mac ais% sudo chmod 777 /Users/letsun/Downloads/apache-maven/bin/mvn
IntelliJ内置终端执行结果
letsun@letsun-mac ais % which mvn /Users/letsun/Downloads/apache-maven/bin/mvn letsun@letsun-mac ais % mvn --version /bin/sh: /Users/letsun/Downloads/apache-maven/bin/mvn: Operation not permitted
已确认两个终端指向的Maven路径一致,且重启IntelliJ后问题仍存在。
解决方案
赋予IntelliJ完整磁盘访问权限
macOS的隐私安全机制可能限制了IntelliJ访问Downloads文件夹的权限:- 打开「系统设置」->「隐私与安全性」->「完整磁盘访问」
- 在应用列表中找到IntelliJ IDEA,勾选对应的复选框
- 重启IntelliJ后再次尝试执行
mvn命令
解除Gatekeeper对Maven文件的隔离标记
从互联网下载的文件会被macOS标记为隔离状态,即使修改权限也可能无法执行:# 解除单个mvn文件的隔离标记 xattr -d com.apple.quarantine /Users/letsun/Downloads/apache-maven/bin/mvn # 或者对整个Maven目录递归解除标记 xattr -r -d com.apple.quarantine /Users/letsun/Downloads/apache-maven以管理员身份启动IntelliJ
尝试用管理员权限运行IntelliJ,绕过权限限制:sudo open -a "IntelliJ IDEA.app"输入系统密码后启动IDE,再在内置终端执行
mvn命令。如果是Apple芯片(M1/M2等),可以先右键点击IntelliJ图标→「显示简介」,勾选「使用Rosetta打开」后再启动。统一Shell环境配置
确保IntelliJ内置终端使用的Shell与系统终端一致:- 打开IntelliJ的「Preferences」(快捷键
Cmd+,) - 进入「Tools」->「Terminal」
- 将「Shell path」设置为系统终端使用的Shell路径(比如
/bin/zsh或/bin/bash) - 重启内置终端后测试
- 打开IntelliJ的「Preferences」(快捷键
迁移Maven到系统级目录
如果以上方法无效,将Maven移动到系统认可的目录,避免权限问题:# 移动Maven到系统目录 sudo mv /Users/letsun/Downloads/apache-maven /usr/local/ # 设置合理的目录权限 sudo chmod -R 755 /usr/local/apache-maven随后更新环境变量中的
MAVEN_HOME和PATH,重启终端与IDE后测试。
内容的提问来源于stack exchange,提问作者committedandroider
相关产品推荐
相关产品推荐

