使用Maven(2.0.9) + Spring(2.5.6) + JPA(hibernate-entitymanager3.3.2.GA)跑unit test的时候,发现问题。具体情况如下:
当运行“需要被注入EntityManager的类”对应的测试用例的时候,收到以下错误:
Caused by: java.lang.StackOverflowError
at java.lang.Character.toLowerCase(Character.java:4208)
at java.lang.Character.toLowerCase(Character.java:4175)
at java.lang.String.toLowerCase(String.java:2409)
at java.lang.String.toLowerCase(String.java:2497)
at org.apache.xerces.util.URI.setScheme(URI.java:908)
at org.apache.xerces.util.URI.initializeScheme(URI.java:576)
at org.apache.xerces.util.URI.initialize(URI.java:400)
at org.apache.xerces.util.URI.<init>(URI.java:211)
at org.apache.xerces.util.URI.<init>(URI.java:195)
at org.apache.xerces.impl.XMLEntityManager.expandSystemId(XMLEntityManager.java:1140)
at org.apache.xerces.impl.XMLEntityManager.resolveEntity(XMLEntityManager.java:581)
at org.apache.xerces.impl.xs.XMLSchemaLoader.xsdToXMLInputSource(XMLSchemaLoader.java:625)
at org.apache.xerces.impl.xs.XMLSchemaLoader.processJAXPSchemaSource(XMLSchemaLoader.java:580)
at org.apache.xerces.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:489)
先开始我以为是xml schema路径的问题,找了一会儿,没有结果。Google后有了进展:
http://forum.springsource.org/showthread.php?t=34654
发现问题出在:该工程对应的pom.xml中没有指定xerces的版本,默认使用了2.0.2版本,而上述StackOverflowError错误正是该版本的一个bug。知道问题原因就好办了,在pom.xml加入以下内容,指定xerces的版本:
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.8.1</version>
<scope>test</scope>
</dependency>
重新运行,OK。
分享到:
相关推荐
本项目基于"Spring Boot+Maven+Spring Data JPA+apache Shiro+Easyui",这些技术栈的选择旨在简化开发过程,提供强大的功能,并确保系统的安全性和用户体验。 1. **Spring Boot**: Spring Boot是Spring框架的简化版...
在现代Java Web开发中,"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA"是一个常见的架构组合,被广泛应用于构建企业级应用程序。这个组合通常被称为"SSM",其中"M"代表Maven,"S"代表Spring,包括Spring核心...
在IT行业中,构建高效、可维护的Web应用是至关重要的,而"Maven+SpringMVC+SpringJPA+Hibernate"的组合就是一个常见的解决方案。这个组合提供了全面的开发工具和技术,帮助开发者快速构建基于Java的Web应用程序。...
Maven+Spring+Spring MVC+MyBatis+MySQL,搭建SSM框架环境
在本项目中,我们主要探讨如何手动构建一个基于SpringMVC、Spring Data JPA、Hibernate以及FreeMarker模板引擎的Maven工程,同时实现环境切换功能。这个基础框架为日常开发工作提供了必要的支持。 首先,SpringMVC...
技术架构:SpringMVC3+Spring3.1.2+Spring Data JPA+Maven 声明:该应用仅仅是技术研究:Spring Data JPA的配置和常见api的使用&maven构建项目,其他技术不在此研究 内涵sql和各种Spring Data JPA测试和案例,导入&...
基于SpringBoot+Maven+Spring Data JPA+Layui实现销售培训考评系统源码.zip 完整代码,可运行 项目描述 企业的销售要进行培训,由技术人员进行辅导并考评检测培训效果,所以有了这个小系统。实现了系统的登录验证、...
技术架构:SpringMVC4+Spring4+Spring Data JPA+hibernate4+Maven 声明:查了好多资料,下载了好多代码,发现没有几个能运行起来的,于是写下此代码,希望能够帮助后来者。此程序导入&创建DB,配置好maven便可运行。...
在"maven+springjpa+hibernate"的例子中,Maven用于管理项目依赖,包括Spring Data JPA和Hibernate库。 **Spring Data JPA** Spring Data JPA是Spring框架的一部分,它简化了JPA(Java Persistence API)的使用,...
这个项目采用了Spring、SpringMVC、SpringDataJPA和JSP等技术,结合Maven进行构建和管理依赖。以下将详细介绍这些关键技术及其在CRM系统中的应用。 1. Spring框架:Spring是一个全面的后端开发框架,它提供依赖注入...
Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/
【标题】"maven+spring+jdbc+mvc项目整合"是一个综合性的开发教程,它将四个关键的技术元素——Maven、Spring、JDBC和Model-View-Controller(MVC)框架融合在一个项目中,旨在帮助开发者理解如何在实际开发环境中...
【标题】"maven+springmvc+spring+mybatis"是一个经典的Java Web开发技术栈,它结合了四个关键组件:Maven(项目管理工具),Spring MVC(MVC框架),Spring(核心框架)以及MyBatis(持久层框架)。这个组合在企业...
在"Maven整合Spring+SpringMVC+Hibernate+SpringDataJPA+JdbcTemplate"的DEMO中,开发者通常会创建一个Maven工程,配置相关依赖,然后分别设置Spring的配置文件(如`applicationContext.xml`)、SpringMVC的配置文件...
maven+spring+springMVC+mybatis 框架搭建 ...Maven+spring+springMVC+mybatis 框架的整合提供了一个完整的 Web 应用程序开发解决方案,涵盖了项目管理、框架选择、数据库持久层、前台应用程序开发等多个方面。
"maven+spring MVC+Mybatis+jetty+mysql" 的组合是常见的开发栈,它涵盖了项目管理、前端控制器、持久层操作、应用服务器以及数据库管理等多个层面。下面将详细介绍这些关键技术及其在实际应用中的作用。 1. Maven...
springboot + spring data jpa + layui 数据库文件(可选) 链接:https://pan.baidu.com/s/1aLSSLfGBL1hhityifeyh6A 提取码:4zpr 依赖包文件(可选) maven搭建 链接:...
零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10 零配置Maven+Spring MVC4.2.4+Hibernate5.2.10