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

NetBeans Spring MVC+Hibernate项目部署Tomcat报hibernate.cfg.xml不存在及后续错误求解

问题排查与解决方案

1. hibernate.cfg.xml找不到报错解决

该错误的核心原因是hibernate.cfg.xml没有被正确打包到WAR包的WEB-INF/classes目录下,导致Spring读取classpath资源时无法找到文件。
你之前修改路径为classpath:java/hibernate.cfg.xml的操作是错误的:NetBeans项目中src/java为源码根目录,编译后该目录下的文件会直接输出到classes根路径,不会额外生成java层级目录。
正确操作二选一即可:

  • 方案一:在项目下新建src/resources目录,标记为「资源根目录」,将hibernate.cfg.xml移动到该目录下,保持applicationContext.xml的配置为:
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />
    <property name="configLocation" value="classpath:hibernate.cfg.xml"></property> 
</bean>
  • 方案二:保留hibernate.cfg.xml在src/java目录,修改NetBeans构建配置,将src/java加入资源扫描路径,确保编译时xml文件被复制到classes目录,无需修改Spring配置。

2. java.lang.NoSuchFieldError: TRACE报错解决

该错误是典型的日志依赖版本冲突:
Hibernate4依赖的日志组件需要日志实现类的Level类存在TRACE级别字段,如果你项目中引入了低于1.2.12版本的log4j,就会出现该报错,旧版log4j没有内置TRACE级别。
解决方案:

  • 排查WAR包WEB-INF/lib目录下的日志相关jar包,移除重复、版本过低的log4j、slf4j-api、slf4j-log4j12等包
  • 统一升级log4j版本到1.2.14及以上,或者改用logback作为日志实现
  • 额外检查Spring版本与Hibernate4的兼容性:确保spring-orm包的版本适配Hibernate4,不要跨大版本混用(比如Spring3配Hibernate5)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 17:45:02