Ubuntu下IntelliJ执行maven install报Permission denied错误
问题描述
通过Ubuntu Software安装IntelliJ IDEA Ultimate 2022.1.2,配置使用Maven wrapper构建Java项目时,在生命周期菜单执行install操作出现两类权限报错:
- Git调用报错:
Cannot run program "/usr/bin/git" (in directory "/usr/bin"): error=13, Permission denied - Protobuf编译阶段报错:执行
protobuf-maven-plugin:0.6.1:compile编译proto文件失败,堆栈根因显示:java.io.IOException: Cannot run program "/.../target/protoc-plugins/protoc-3.11.1-linux-x86_64.exe": error=13, Permission denied
终端下验证结果:
- 执行
/usr/bin/git --version正常返回git version 2.25.1,git程序可用 - 进入protoc插件目录,确认
protoc-3.11.1-linux-x86_64.exe已配置可执行权限,直接执行./protoc-3.11.1-linux-x86_64.exe --version正常返回libprotoc 3.11.1,插件程序本身可用 - 查看
maven-wrapper.properties配置,当前使用Maven 3.8.3,Maven Wrapper版本为0.5.6 - 同一项目在其他设备上可正常构建运行。

根因分析
Ubuntu Software源提供的IntelliJ IDEA是Snap格式安装包,默认运行在严格沙箱隔离模式下,沙箱会拦截IDEA进程对外部可执行程序的拉起请求,和被调用程序本身的权限配置、Maven配置、项目代码无关。终端环境不受沙箱限制,所以手动执行git、protoc程序都能正常运行。
解决方案
两种方案可按需选择:
- 方案1(推荐):卸载Snap版本IDEA,安装非沙箱版本
执行命令卸载Snap版IDEA:
之后通过JetBrains Toolbox、官方tar.gz压缩包或者apt软件源安装非沙箱版IDEA,重新导入项目配置Maven wrapper即可正常构建,不会再出现同类权限问题。sudo snap remove intellij-idea-ultimate - 方案2:保留Snap版本,手动开放沙箱权限
依次执行以下命令给Snap版IDEA开放必要的系统访问权限,执行完成后重启IDEA即可恢复正常:
注意:该方案后续可能触发其他沙箱限制,比如JDK识别失败、文件监听异常、第三方插件无法运行等问题,长期使用不推荐。sudo snap connect intellij-idea-ultimate:home sudo snap connect intellij-idea-ultimate:system-files sudo snap connect intellij-idea-ultimate:process-control
内容的提问来源于stack exchange,提问作者user1770924
相关产品推荐
相关产品推荐

