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

M1芯片Mac下IntelliJ使用Java运行Hibernate5.6.0报错如何解决

问题解决方案

核心配置文件找不到异常修复

  • 修正hibernate.cfg.xml存放路径
    Java/Maven/Gradle项目默认仅会将src/main/resources目录下的文件纳入运行时类路径,Hibernate默认从类路径根目录加载配置文件,你需要将hibernate.cfg.xml从源码根目录移动到src/main/resources目录下。
    如果你坚持要将配置文件放在src/main/java目录下,需要修改构建工具配置,以Maven为例,在pom.xml的<build>节点下添加如下配置,让构建工具识别java目录下的xml文件:
    <resources>
        <resource>
            <directory>src/main/java</directory>
            <includes>
                <include>**/*.xml</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
        </resource>
    </resources>
    
  • 确认IDEA资源目录标记正确
    打开IDEA的项目结构面板(快捷键⌘; / Ctrl+Alt+Shift+S),进入Modules标签页,确认src/main/resources目录被标记为「Resources」类型,未正确标记的目录不会被IDEA纳入运行时类路径。
  • 检查加载代码配置
    如果你在调用configure()方法时传入了自定义路径,需要确认路径与类路径下的文件位置匹配:
    • 配置文件直接放在resources根目录:直接调用无参方法new Configuration().configure()即可
    • 配置文件放在resources下的子目录(如config):需要传入对应路径new Configuration().configure("config/hibernate.cfg.xml")

log4j警告修复

该警告是因为缺少log4j配置文件,在src/main/resources目录下新增log4j.properties文件,填入基础配置即可:

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

缓存清理

完成上述修改后如果仍报错,执行IDEA的缓存清理重启操作(File > Invalidate Caches... > Invalidate and Restart),再重新构建项目(Build > Rebuild Project)即可。

内容的提问来源于stack exchange,提问作者Felix Riemer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 23:09:03