我正在
Caused by:
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Failed to import bean definitions from relative
location [hibernate.cfg.xml] Offending resource: ServletContext
resource [/WEB-INF/applicationContext.xml]; nested exception is
org.springframework.beans.factory.BeanDefinitionStoreException:
IOException parsing XML document from ServletContext resource
[/WEB-INF/hibernate.cfg.xml]; nested exception is
java.io.FileNotFoundException: class path resource
[org/hibernate/hibernate-configuration-3.0.dtd] cannot be opened
because it does not exist
这是我正在使用的依赖
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>4.3.5.Final</version>
</dependency>
hibernate.cfg.xml -
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration SYSTEM
"classpath://org/hibernate/hibernate-configuration-3.0.dtd">
使用import-
在spring中导入hibernate文件<import resource="hibernate.cfg.xml"/>
Jar存在于maven依赖项中但仍无法加载DTD
答案 0 :(得分:2)
您不需要在Spring应用程序上下文中导入hibernate.cfg.xml
。
所以,而不是:
<import resource="hibernate.cfg.xml"/>
您需要确保hibermate.cfg.xml位于jar中的某个位置。
如果您正在使用Maven,只需将其放在以下路径中:
${project.home}/src/main/resources/hibernate.cfg.xml
这样,hibernate.cfg.xml
文件将在构建期间包含在模块jar中。