一下错误是因为在MyEclipse中导入xfire会自动导入spring1.2.6,然后自己又导入spring2.0引起的版本冲突(仅在使用ClassPathXmlApplicationContext,FileSystemXmlApplicationContext的情况下),导致程序无法做单元测试。
java.lang.IllegalStateException: Could not find valid implementation for: 2.0
at org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:48)
at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.loadBeanDefinitions(ClassPathXmlApplicationContext.java:170)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:89)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:269)
at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:161)
at org.apache.xbean.spring.context.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:51)
at com.wasu.lwms.test.TestMySpaceUserCatalogSqlMap.testSearchSuggest(TestMySpaceUserCatalogSqlMap.java:38)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at junit.framework.TestCase.runTest(TestCase.java:154)
at junit.framework.TestCase.runBare(TestCase.java:127)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.apache.xbean.spring.context.impl.XBeanHelper.createBeanDefinitionReader(XBeanHelper.java:46)
... 24 more
Caused by: java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlBeanDefinitionReader.setValidationMode(I)V
at org.apache.xbean.spring.context.v2.XBeanXmlBeanDefinitionReader.<init>(XBeanXmlBeanDefinitionReader.java:58)
... 29 more
在不修改配置的情况下的解决方法:换成使用XmlWebApplicationContext即可,代码如下:
ConfigurableWebApplicationContext ctx = new XmlWebApplicationContext();
ctx.setConfigLocations(new String[] { "classpath:applicationContext.xml" });
ctx.refresh();
分享到:
相关推荐
- **重复依赖**:Spring和Hibernate的依赖库中可能包含相同的第三方库,但版本不同,这会导致类路径中的类加载冲突。 - **配置冲突**:两个框架各自的配置文件(如`applicationContext.xml`和`hibernate.cfg.xml`...
springboot集成flyway实现数据库版本自动升级及冲突问题解决,灵活实现升级语句的自主执行
org.springframework.core.JdkVersion 于是找到一个spring-core-3.x.RELEASE.jar,用其中的JdkVersion这个类替换spring-2.5.5.jar对应class,问题解决! 注意:别用spring-core-4.x.RELEASE.jar,JdkVersion....
然而,随着Java版本的升级,有时候不同版本的Spring和JDK之间可能会出现兼容性问题。在本例中,我们讨论的是Spring 3.2.0版本与JDK 1.8之间的冲突。 Spring 3.2.0发布于2012年,那时JDK 1.8尚未推出(JDK 1.8在2014...
在IDEA中导入此项目后,可以直接设置源码路径,方便地查看和调试Spring Framework的内部实现,这对于深入理解Spring的工作原理、排查问题或进行二次开发非常有帮助。 **4. 学习资源与实践** 要充分利用这个源码,...
如果不进行版本统一,可能会导致版本冲突、不兼容问题,影响整个系统的稳定性和性能。因此,创建一个统一的父工程,用于管理所有子项目的Spring Cloud版本,是一种最佳实践。 首先,我们需要创建一个Maven多模块...
同时,利用Maven或Gradle等构建工具管理依赖,可以自动化处理jar包的版本冲突问题,确保项目构建的顺利进行。 7. **总结**:Spring 4.1.5、4.3.15和4.3.24版本的jar包代表了Spring框架在不同时期的成熟状态,它们...
标题“spring与hibernate的包冲突”所涉及的问题,通常出现在同时引入这两个框架时,由于它们可能使用了相同或相似的库,从而导致类加载冲突或者版本不兼容的问题。解决这类冲突通常需要对项目构建配置(如Maven或...
这个版本可能还包括对旧版本中已知问题的修复,以提升稳定性和兼容性。 Spring Web MVC的注解驱动能力使得控制器的编写更加简洁。比如,@RequestMapping注解可以用来映射URL到特定的方法,@GetMapping和@...
确保正确配置类路径,避免版本冲突,是成功集成Spring框架的关键。 在实际项目中,通常会通过Maven或Gradle等构建工具来管理这些依赖,而不是手动添加jar包。不过,了解这些jar包的功能和用途,有助于更好地理解...
在整合Tuscany、Spring和Axis时,可能会遇到jar包版本冲突的问题。这是由于这些框架之间可能存在对相同库的不同版本依赖,导致运行时出现类加载错误或兼容性问题。为了解决这个问题,可以采取以下几种策略: 1. **...
1. **依赖管理问题**:确保你的`pom.xml`文件中包含了正确的Spring Cloud和Spring Boot版本。不同版本之间可能存在兼容性问题,选择一个合适的版本组合至关重要。检查所有依赖是否已经正确导入,包括Spring Cloud的...
而AspectJWeaver-1.7.2.jar则是Spring AOP实现过程中不可或缺的一环,它解决了Spring与AspectJ集成时可能出现的版本冲突问题。 首先,我们需要了解什么是AOP。AOP是一种编程范式,它将关注点分离,使得业务逻辑和...
1. 统一依赖管理:Maven通过中央仓库管理项目依赖,避免了版本冲突问题,简化了项目的构建过程。 2. 自动化构建:Maven提供了一套标准化的构建生命周期,包括编译、测试、打包、部署等阶段,大大提高了开发效率。 ...
集成时需注意线程模型的兼容性,确保 Netty 的工作线程和 Spring 的任务调度器协同工作,避免资源冲突。 6. **Spring MVC 与 Netty**: 如果你希望在 Netty 中使用 Spring MVC 来处理 HTTP 请求,可以创建一个 ...
这个压缩包集合提供了这三大框架的兼容性版本,旨在解决集成过程中可能出现的jar包冲突问题。 **Struts2.0** 是一个基于MVC设计模式的Web应用程序框架,它继承了Struts1的优点并解决了其存在的问题。Struts2的核心...
可能你还需要考虑各个版本的兼容性,jar 包冲突的各种可行性。 那么使用 Spring Boot 之后我们需要开发一个 web 项目需要哪些操作呢? 1)登录网址 http://start.spring.io/ 选择对应的组件直接下载 2)导入项目...
通过自动管理依赖关系,Spring Boot 可以确保引入的库版本与 Spring 框架和其他组件兼容,从而避免了版本冲突的问题。 在自动配置方面,Spring Boot 根据项目依赖自动配置 Spring 组件。例如,如果项目包含了 ...
### 整合Flex与Spring常遇到的问题 在实际开发过程中,将Adobe Flex与Spring框架进行集成是一项复杂的任务,尤其对于初次尝试的开发者来说更是如此。本文根据多年的实践经验,总结了在整合Flex与Spring时常见的几个...
1. **模块化设计**:Spring 4.0.3进一步加强了其模块化结构,允许开发者仅引入他们项目所需的部分,减少了依赖冲突的可能性。核心容器(Core Container)包括Bean工厂和ApplicationContext,提供了IoC(Inversion of...