You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux Mint Flatpak版Intellij连接PostgreSQL(JDBC)报logging.properties缺失错误问询

问题根因

Flatpak安装的Intellij运行在沙箱隔离环境中,默认无法读取宿主机的系统路径文件。你当前项目配置使用了宿主机安装的OpenJDK 11,JDK初始化日志系统时需要读取/run/host/usr/lib/jvm/java-11-openjdk-amd64/conf/logging.properties文件,沙箱权限不足导致读取失败,触发ExceptionInInitializerError,而JDBC驱动加载阶段依赖日志系统初始化,所以执行DriverManager.getConnection("jdbc:postgresql://localhost:5432/jc_student", "postgres", "999999");代码时直接报错中断。

解决方案

方案1:切换为Intellij内置JDK(优先推荐)

不需要修改任何权限,操作最简单无副作用:

  • 打开Intellij顶部菜单 File > Project Structure
  • 进入Platform Settings > SDKs,选择沙箱内置的OpenJDK 11,若未自动识别可手动添加沙箱内的JDK路径(无需访问宿主机目录)
  • 将项目的SDK、编译字节码版本都切换为该内置JDK,重启调试即可

方案2:开放Flatpak沙箱的JDK目录访问权限

如果你必须使用宿主机安装的OpenJDK 11,可通过两种方式修改权限:

图形化配置(适合新手)

  • 先安装Flatseal权限管理工具:flatpak install flathub com.github.tchx84.Flatseal
  • 打开Flatseal,在左侧应用列表找到你安装的Intellij IDEA版本
  • 下滑到「文件系统」配置区,在「其他文件」条目下添加路径:/run/host/usr/lib/jvm/java-11-openjdk-amd64:ro(ro表示只读权限,避免误改宿主机JDK文件)
  • 完全关闭Intellij后重启即可生效

命令行配置

直接在终端执行对应命令:

# 社区版IDEA执行这条
flatpak override --filesystem=/run/host/usr/lib/jvm/java-11-openjdk-amd64:ro com.jetbrains.IntelliJ-IDEA-Community

# 旗舰版IDEA执行这条
flatpak override --filesystem=/run/host/usr/lib/jvm/java-11-openjdk-amd64:ro com.jetbrains.IntelliJ-IDEA-Ultimate

方案3:手动指定日志配置跳过文件读取

如果不想修改Flatpak权限,可以在运行配置中添加JVM启动参数绕过配置文件读取:

  • 打开Intellij顶部菜单Run > Edit Configurations,找到你当前项目的启动配置
  • 在VM options输入框添加以下参数任意一条即可:
    • 指定自定义配置文件路径:-Djava.util.logging.config.file=你自己的配置文件绝对路径
    • 直接使用控制台日志处理器跳过配置文件读取:-Djava.util.logging.config.class=java.util.logging.ConsoleHandler
  • 保存配置后重新运行调试即可

内容的提问来源于stack exchange,提问作者Ilshat Shakirov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.15 13:45:02