当我添加<;mvc:注释驱动/>;,我得到一个;创建bean时出错"&引用;java.lang.IllegalMonitorStateException“;
我有一个简单的应用程序,但当我尝试将当我添加<;mvc:注释驱动/>;,我得到一个;创建bean时出错"&引用;java.lang.IllegalMonitorStateException“;,java,spring,annotations,Java,Spring,Annotations,我有一个简单的应用程序,但当我尝试将添加到我的servlet时,出现以下错误: [09/07/12 12:09:45:703 EDT] 00000053 DispatcherSer E org.springframework.web.servlet.FrameworkServlet initServletBean Context initialization failed org.springframework.beans.fac
添加到我的servlet时,出现以下错误:
[09/07/12 12:09:45:703 EDT] 00000053 DispatcherSer E org.springframework.web.servlet.FrameworkServlet initServletBean Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is java.lang.IllegalMonitorStateException
[09/07/12 12:09:45:718 EDT] 00000053 servlet E com.ibm.ws.webcontainer.servlet.ServletWrapper init SRVE0100E: Uncaught init() exception created by servlet cm-dispatcher in application CM_ContractMaintenance: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.validation.beanvalidation.LocalValidatorFactoryBean#0': Invocation of init method failed; nested exception is java.lang.IllegalMonitorStateException
我的调度程序servlet:
My Web.XML
合同维护Web应用程序
字符编码滤波器
org.springframework.web.filter.CharacterEncodingFilter
编码
UTF-8
强制编码
真的
字符编码滤波器
/*
cm调度员
org.springframework.web.servlet.DispatcherServlet
上下文配置位置
/WEB-INF/cm-dispatcher-servlet.xml
1.
cm调度员
/
org.springframework.web.context.ContextLoaderListener
404
/WEB-INF/jsp/404.jsp
java.lang.Exception
/WEB-INF/jsp/404.jsp
合同维护的数据源参考
应用在中将有一个相应的引用绑定
“ibmwebbnd.xml”。
CMDatasource
javax.sql.DataSource
容器
可分享
我的pom.xml
4.0.0
cipo父代
ca.gc.ic.cipo
1.1
ca.gc.ic.cipo.cm
cm网络应用程序
战争
1.1
cm webapp Maven webapp
http://maven.apache.org
3.1.1.1发布
3.1.0.1发布
ca.gc.ic.cipo.cm
cm产品核心
1.1
log4j
log4j
1.2.16
爪哇
JavaEEAPI
6
共用配置
共用配置
1.6
公地io
公地io
1.4
公地郎
公地郎
2.5
公用记录
公用记录
1.1.1
org.springframework
弹簧芯
${spring.version}
org.springframework
弹簧网
${spring.version}
org.springframework
SpringWebMVC
${spring.version}
org.springframework
春季aop
${spring.version}
org.springframework
弹簧芯
${spring.version}
org.springframework
spring上下文
${spring.version}
org.springframework
SpringJDBC
${spring.version}
org.springframework
春豆
${spring.version}
org.springframework
德克萨斯州春季
${spring.version}
org.springframework.security
spring安全配置
${spring.security.version}
org.springframework.security
spring安全网
${spring.security.version}
org.hibernate
休眠验证器
4.3.0.1最终版本
org.slf4j
slf4j api
1.6.4
运行时
org.slf4j
slf4j简单
1.6.1
cm网络应用程序
救命 假设:
<context:component-scan base-package="ca.gc.ic.cipo.cm.web" />
是控制器所在的位置,请尝试将
命令放在其前面
这就是我在Spring3.0.5上所做的。我想3.1版也是这样
还要注意,我通常也会通过放置控制器,假设:
<context:component-scan base-package="ca.gc.ic.cipo.cm.web" />
是控制器所在的位置,请尝试将
命令放在其前面
这就是我在Spring3.0.5上所做的。我想3.1版也是这样
还要注意的是,我通常也通过放置控制器,我看到您在Websphere上遇到了这个错误-我猜这是因为Websphere提供的JSR303验证程序实现可能与依赖项中的hibernate实现冲突。你能试试两件事吗
一种是在运行时部署中删除hibernate validator jar,这可能会迫使验证器使用IBM提供的验证器
如果第一个不起作用,第二个将强制使用hibernate验证器。您可以这样做:
<bean name="handlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="validator">
<bean class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
</bean>
</property>
</bean>
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.ResourceHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>
我看到您在Websphere上遇到了这个错误-我猜这是因为Websphere提供的JSR 303验证器实现可能与依赖项中的hibernate实现冲突。你能试试两件事吗
一种是在运行时部署中删除hibernate validator jar,这可能会迫使验证器使用IBM提供的验证器
如果第一个不起作用,第二个将强制使用hibernate验证器。您可以这样做:
<bean name="handlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
<property name="webBindingInitializer">
<bean class="org.springframework.web.bind.support.ConfigurableWebBindingInitializer">
<property name="validator">
<bean class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
<property name="providerClass" value="org.hibernate.validator.HibernateValidator"></property>
</bean>
</property>
</bean>
</property>
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.StringHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.ResourceHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.xml.SourceHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.xml.XmlAwareFormHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter"></bean>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean>
</list>
</property>
</bean>