我有一个Spring MVC应用程序(4.1.1-Release版本)。当我尝试在服务器上发布和运行时,我收到了下面提到的错误。
其他信息
org.springframework.beans.factory.BeanCreationException:错误 用名称' homeController'创建bean。在文件中定义 [/home/abc/Tools/sts-bundle/pivotal-tc-server-developer-3.0.0.RELEASE/base-instance/wtpwebapps/project-name/WEB-INF/classes/com/abc/project/HomeController。类]: bean类型的后处理失败[class com.abc.project.HomeController]失败;嵌套异常是 java.lang.IllegalStateException:无法内省注释: public java.lang.String com.abc.project.HomeController.hello()at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:929) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 在 org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:302) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:725) 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469) 在 org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) 在 org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) 在 org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4760) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5184) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581) 在 org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java:1686) 在 java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) 在java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:745)引起: java.lang.IllegalStateException:无法内省注释: public java.lang.String com.abc.project.HomeController.hello()at org.springframework.core.annotation.AnnotatedElementUtils.process(AnnotatedElementUtils.java:166) 在 org.springframework.core.annotation.AnnotatedElementUtils.getAnnotationAttributes(AnnotatedElementUtils.java:91) 在 org.springframework.core.annotation.AnnotatedElementUtils.getAnnotationAttributes(AnnotatedElementUtils.java:85) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.findAutowiredAnnotation(AutowiredAnnotationBeanPostProcessor.java:416) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.buildAutowiringMetadata(AutowiredAnnotationBeanPostProcessor.java:388) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.findAutowiringMetadata(AutowiredAnnotationBeanPostProcessor.java:358) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(AutowiredAnnotationBeanPostProcessor.java:233) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:924) ... 25更多引起:java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage(Ljava /郎/注解/注释;)z 在 org.springframework.core.annotation.AnnotatedElementUtils.doProcess(AnnotatedElementUtils.java:208) 在 org.springframework.core.annotation.AnnotatedElementUtils.process(AnnotatedElementUtils.java:162) ... 32更多Oct 29,2014 5:00:21 PM org.apache.catalina.core.StandardContext listenerStart SEVERE: 将上下文初始化事件发送到侦听器实例的异常 class org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException:错误 用名称' homeController'创建bean。在文件中定义 [/home/abc/Tools/sts-bundle/pivotal-tc-server-developer-3.0.0.RELEASE/base-instance/wtpwebapps/project-name/WEB-INF/classes/com/abc/project/HomeController。类]: bean类型的后处理失败[class com.abc.project.HomeController]失败;嵌套异常是 java.lang.IllegalStateException:无法内省注释: public java.lang.String com.abc.project.HomeController.hello()at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:929) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:513) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476) 在 org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:302) 在 org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:229) 在 org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:298) 在 org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 在 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:725) 在 org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) 在 org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469) 在 org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403) 在 org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306) 在 org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106) 在 org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4760) 在 org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5184) 在 org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:724) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:700) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:714) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:581) 在 org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java:1686) 在 java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471) 在java.util.concurrent.FutureTask.run(FutureTask.java:262)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 在 java.util.concurrent.ThreadPoolExecutor中的$ Worker.run(ThreadPoolExecutor.java:615) 在java.lang.Thread.run(Thread.java:745)引起: java.lang.IllegalStateException:无法内省注释: public java.lang.String com.abc.project.HomeController.hello()at org.springframework.core.annotation.AnnotatedElementUtils.process(AnnotatedElementUtils.java:166) 在 org.springframework.core.annotation.AnnotatedElementUtils.getAnnotationAttributes(AnnotatedElementUtils.java:91) 在 org.springframework.core.annotation.AnnotatedElementUtils.getAnnotationAttributes(AnnotatedElementUtils.java:85) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.findAutowiredAnnotation(AutowiredAnnotationBeanPostProcessor.java:416) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.buildAutowiringMetadata(AutowiredAnnotationBeanPostProcessor.java:388) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.findAutowiringMetadata(AutowiredAnnotationBeanPostProcessor.java:358) 在 org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessMergedBeanDefinition(AutowiredAnnotationBeanPostProcessor.java:233) 在 org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMergedBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:924) ... 25更多引起:java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.isInJavaLangAnnotationPackage(Ljava /郎/注解/注释;)z 在 org.springframework.core.annotation.AnnotatedElementUtils.doProcess(AnnotatedElementUtils.java:208) 在 org.springframework.core.annotation.AnnotatedElementUtils.process(AnnotatedElementUtils.java:162) ......还有32个
答案 0 :(得分:12)
当我通过@import导入未在服务器上部署的类时出现此错误。不幸的是,堆栈并没有告诉你缺少哪个类,但你可以逐个删除它们并重新启动你的应用程序。
现在,如果项目实际编译,为什么不在服务器上部署该类?
编辑: 当导入通过Maven依赖使用类路径上的类时,我发现我遇到了问题。我还在Eclipse中检查了这个依赖项(项目)。在这种情况下,Eclipse似乎将部署签出的项目而不是存储库中的构建。它不会看到这个项目的外部依赖。
解决方案:关闭Eclipse中的所有外部依赖项目,以确保实际部署Maven资源库中的版本。
答案 1 :(得分:2)
你可能会失踪
<context:component-scan base-package="org.example">
在applicationContext.xml文件 OR
中@ComponentScan("com.example")
注释,如果您正在进行基于代码的配置。
答案 2 :(得分:2)
我的WEB-INF / lib中有旧版本的spring库。我删除了lib文件夹中的所有内容,并尝试构建和发布。它奏效了。
感谢。
答案 3 :(得分:0)
从堆栈跟踪来看,您正在混合使用不同版本的Spring。 package com.cts.skynews.springboot.controller;
import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath;
import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.status;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.setup.MockMvcBuilders;
import org.springframework.web.context.WebApplicationContext;
@RunWith(SpringRunner.class)
@SpringBootTest
public class UserControllerTest {
private static final Logger LOGGER = LoggerFactory.getLogger(UserControllerTest.class);
@Autowired
private WebApplicationContext webApplicationContext;
private MockMvc mockMvc;
@Before
public void setup() {
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
}
@Test
public void addNewUser() throws Exception {
LOGGER.info("START : Inside Spring Boot addUser() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"kirasln@gmail.com\","
+ "\"password\":\"A123456\"," + "\"status\":\"active\"," + "\"language\":{\"id\":\"1\"},"
+ "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().isOk()).andExpect(jsonPath("$.signedUp").value("true"));
LOGGER.info("END : Spring Boot addUser() method of UserController");
}
@Test
public void checkEmailExists() throws Exception {
LOGGER.info("START : Inside Spring Boot checkEmailExists() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"ravariakiran@gmail.com\","
+ "\"password\":\"A123456\"," + "\"status\":\"active\"," + "\"language\":{\"id\":\"1\"},"
+ "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().isOk()).andExpect(jsonPath("$.emailExists").value("true"))
.andExpect(jsonPath("$.signedUp").value("false"));
LOGGER.info("END : Spring Boot checkEmailExists() method of UserController");
}
@Test
public void incorrectEmailFormat() throws Exception {
LOGGER.info("START : Inside Spring Boot incorrectEmailFormat() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"rgmail.com\"," + "\"password\":\"A123456\","
+ "\"status\":\"active\"," + "\"language\":{\"id\":\"1\"}," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Email address is invalid"));
LOGGER.info("END : Spring Boot incorrectEmailFormat() method of UserController");
}
@Test
public void nullName() throws Exception {
LOGGER.info("START : Inside Spring Boot nullName() method of UserController");
String USER_DATA = "{\"email\":\"abcdefg@gmail.com\"," + "\"password\":\"A123456\"," + "\"status\":\"active\","
+ "\"language\":{\"id\":\"1\"}," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Name cannot be empty"));
LOGGER.info("END : Spring Boot nullName() method of UserController");
}
@Test
public void nullPassword() throws Exception {
LOGGER.info("START : Inside Spring Boot nullPassword() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"abcdefg@gmail.com\","
+ "\"status\":\"active\"," + "\"language\":{\"id\":\"1\"}," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Password cannot be empty"));
LOGGER.info("END : Spring Boot nullPassword() method of UserController");
}
@Test
public void nullEmail() throws Exception {
LOGGER.info("START : Inside Spring Boot nullEmail() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"password\":\"A123456\"," + "\"status\":\"active\","
+ "\"language\":{\"id\":\"1\"}," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Email cannot be empty"));
LOGGER.info("END : Spring Boot nullEmail() method of UserController");
}
@Test
public void nullStatus() throws Exception {
LOGGER.info("START : Inside Spring Boot nullEmail() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"abcdefg@gmail.com\","
+ "\"password\":\"A123456\"," + "\"language\":{\"id\":\"1\"}," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Status cannot be empty"));
LOGGER.info("END : Spring Boot nullStatus() method of UserController");
}
@Test
public void langugaeNull() throws Exception {
LOGGER.info("START : Inside Spring Boot langugaeNull() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"abcdefg@gmail.com\","
+ "\"password\":\"A123456\"," + "\"status\":\"active\"," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Language cannot be empty"));
LOGGER.info("END : Spring Boot langugaeNull() method of UserController");
}
@Test
public void roleNull() throws Exception {
LOGGER.info("START : Inside Spring Boot roleNull() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"abcdefg@gmail.com\","
+ "\"password\":\"A123456\"," + "\"status\":\"active\"," + "\"language\":{\"id\":\"1\"}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Role cannot be empty"));
LOGGER.info("END : Spring Boot roleNull() method of UserController");
}
@Test
public void invalidNameLength() throws Exception {
LOGGER.info("START : Inside Spring Boot invalidNameLength() method of UserController");
String USER_DATA = "{\"name\":\"KiranKiranRavariyKiranKiranRavariyaRRavariyaRavariyaRavariyaRavariyaRavariya "
+ "KiranKiranRavariyKiranKiranRavariyaRRavariyaRavariyaRavariyaRavariyaRavariya "
+ "KiranKiranRavariyKiranKiranRavariyaRRavariyaRavariyaRavariyaRavariyaRavariya\","
+ "\"email\":\"abcdefg@gmail.com\"," + "\"password\":\"A123456\"," + "\"status\":\"active\","
+ "\"language\":{\"id\":\"1\"}," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError())
.andExpect(jsonPath("$.errorMessage").value("Input Validation Failed:Name must be 3 to 80 characters"));
LOGGER.info("END : Spring Boot invalidNameLength() method of UserController");
}
@Test
public void invalidEmailLength() throws Exception {
LOGGER.info("START : Inside Spring Boot invalidEmailLength() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\","
+ "\"email\":\"ravariakiran@gmailravariakiran@gmailravariakiran@gmailravariakiran@gmailravariakiran@gmailravariakiran@gmailravariakiran@gmailravariakiran@gmailravariakiran@gmailravariakiran@gmail.com\","
+ "\"password\":\"A123456\"," + "\"status\":\"active\"," + "\"language\":{\"id\":\"1\"},"
+ "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError()).andExpect(
jsonPath("$.errorMessage").value("Input Validation Failed:Email must be 4 to 80 characters"));
LOGGER.info("END : Spring Boot invalidEmailLength() method of UserController");
}
@Test
public void incorrectPasswordFormat() throws Exception {
LOGGER.info("START : Inside Spring Boot incorrectPasswordFormat() method of UserController");
String USER_DATA = "{\"name\":\"Kiran Ravariya\"," + "\"email\":\"abcdefg@gmail.com\"," + "\"password\":\"12\","
+ "\"status\":\"active\"," + "\"language\":{\"id\":\"1\"}," + "\"role\":{\"id\":1}}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/signup").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().is4xxClientError()).andExpect(jsonPath("$.errorMessage")
.value("Input Validation Failed:Password must be 6 to 45 characters"));
LOGGER.info("END : Spring Boot incorrectPasswordFormat() method of UserController");
}
@Test
public void successfullLogin() throws Exception {
LOGGER.info("START : Inside Spring Boot successfullLogin() method of UserController");
String USER_DATA = "{\"email\":\"kiran@gmail.com\",\"password\":\"A123456\"}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/login").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().isOk()).andExpect(jsonPath("$.authenticated").value("true"));
LOGGER.info("END : Spring Boot successfullLogin() method of UserController");
}
@Test
public void invalidEmailForLogin() throws Exception {
LOGGER.info("START : Inside Spring Boot invalidEmailForLogin() method of UserController");
String USER_DATA = "{\"email\":\"kiran123@gmail.com\",\"password\":\"A123456\"}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/login").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().isOk()).andExpect(jsonPath("$.authenticated").value("false"));
LOGGER.info("END : Spring Boot invalidEmailForLogin() method of UserController");
}
@Test
public void invalidPasswordForLogin() throws Exception {
LOGGER.info("START : Inside Spring Boot invalidPasswordForLogin() method of UserController");
String USER_DATA = "{\"email\":\"kiran@gmail.com\",\"password\":\"12345678\"}";
LOGGER.debug("JSON Object : {}", USER_DATA);
mockMvc.perform(post("/user/login").content(USER_DATA).contentType("application/json;charset=UTF-8"))
.andExpect(status().isOk()).andExpect(jsonPath("$.authenticated").value("false"));;
LOGGER.info("END : Spring Boot invalidPasswordForLogin() method of UserController");
}
}
是指示符。
检查您的依赖项,并确保您没有引入冲突的版本。
一般经验法则,切勿混用框架不同版本的jar(在这种情况下为Spring,但对于例如Hibernate也是如此)。