我已从 struts 2.0 升级到 2.3.16.1,以便将 struts 中的最新安全修复程序获取到我的 Web 应用程序
当我升级部署在tomcat服务器中时,出现以下错误:
原因:无法加载配置。 - 拦截器 - jar:file:/C:/Projects/apache-tomcat-7.0.50/webapps/myweb/WEB-INF/lib/struts2-core-2.3.16.1.jar!/struts-default.xml:167: 106
在 com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
在org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:445)
在 org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:489)
原因:注册拦截器类 org.apache.struts2.interceptor.FileUploadInterceptor 时捕获异常 - 拦截器 - jar:file:/C:/Projects/apache-tomcat-7.0.50/webapps/myweb/WEB-INF/lib/struts2 -core-2.3.16.1.jar!/struts-default.xml:167:106
引起的:org.springframework.beans。类型不匹配异常:无法将属性“container”的类型 [org.springframework.jms.listener.SimpleMessageListenerContainer] 的属性值转换为所需类型 [com.opensymphony.xwork2.inject.Container];嵌套异常是java.lang.IllegalArgumentException:无法将类型 [org.springframework.jms.listener.SimpleMessageListenerContainer] 的值转换为所需类型 [com.opensymphony.xwork2.inject.Container]对于属性“容器”:找不到匹配的编辑器或转换策略
为了您的方便,我的配置如下
pom.xml 中的 maven 配置如下
<dependency>
<groupId>com.opensymphony</groupId>
<artifactId>xwork</artifactId>
<version>2.1.3</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.16.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jms</artifactId>
<version>3.0.5.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.3.16.1</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-spring-plugin</artifactId>
<version>2.3.16.1</version>
</dependency>
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>3.0.8</version>
</dependency>
spring bean.xml的配置
<bean id="container" class="org.springframework.jms.listener.SimpleMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="messageListener" ref="listener" />
<property name="destination" ref="requestQueue" />
</bean>
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
<property name="defaultDestination" ref="requestQueue" />
</bean>
<bean id="requestQueue" class="org.apache.activemq.command.ActiveMQQueue">
<constructor-arg value="MYEMAILQUEUE" />
</bean>
<bean id="connectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory">
<property name="brokerURL" value="tcp://localhost:61616?keepAlive=true" />
</bean>
如果有人能够提供解决方案或想法来解决此问题,请表示赞赏。
我想这与错误的库有关。
仔细查看Struts2项目依赖.
This
<dependency>
<groupId>com.opensymphony</groupId>
<artifactId>xwork</artifactId>
<version>2.1.3</version>
</dependency>
应该2.3.16.1像其他人一样,例如......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)