这2天开始学习Struts2,我的版本是2.0.6,我将下载下来的Struts里面的包的例子import到Eclipse来运行,虽然可以运行成功,但是Tomcat老是会出现这样的出错信息:
信息: Parsing configuration file [struts-plugin.xml]
2007-3-21 17:37:29 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/tomcat5.5.23/webapps/Hello/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:209)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
.................
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
..................
2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
严重: Context [/Hello] startup failed due to previous errors
2007-3-21 17:37:30 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>
我google,baidu了很久都没有好的说法,有的人说没有缺少了什么包,但是我将Struts里面所有的包都引入了还是照样没有解决问题。然后我试着将Eclipse原本的server文件夹,以及其他所有的项目文件夹全部删掉,重新引入struts的例子,就是struts-2.0.6-blank,RUN ON SERVER,重新定义了下tomcat,结果发现居然正常运行了。。我猜测可能是例子运行环境跟原本的配置有冲突。。不管怎么样~总算是运行了,算是迈出了学习Struts的第一步了。特意写了这个文章,算是纪念吧,也希望对其他刚接触了Struts的人有所帮助。都是初学者,入门这一步最痛苦了。发个求问贴几天没人回的痛苦好多人经历过吧。忍忍,多年媳妇总能熬成婆的。
补充:如果将Struts中的包全部引入好像也会导致这个问题,可能包直接互相冲突。我按一个教程将所有包引入,发现老是这个错误,我将服务器删掉重建,然后只引入5个包,就是在范例blank里面的5个包引入,终于可以了。
补充:范例在下载的struts 2.0.6 的附带的文件夹下面可以找到.其中blank是最简单的初始的例子.</clinit>
信息: Parsing configuration file [struts-plugin.xml]
2007-3-21 17:37:29 org.apache.catalina.core.StandardContext filterStart
严重: Exception starting filter struts2
Unable to load bean: type:com.opensymphony.xwork2.ObjectFactory class:org.apache.struts2.spring.StrutsSpringObjectFactory - bean - jar:file:/C:/Program%20Files/tomcat5.5.23/webapps/Hello/WEB-INF/lib/struts2-spring-plugin-2.0.6.jar!/struts-plugin.xml:8:132
at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:209)
at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)
.................
Caused by: java.lang.NoClassDefFoundError: org/springframework/context/ApplicationContextAware
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
..................
2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
严重: Error filterStart
2007-3-21 17:37:30 org.apache.catalina.core.StandardContext start
严重: Context [/Hello] startup failed due to previous errors
2007-3-21 17:37:30 com.opensymphony.xwork2.util.ObjectTypeDeterminerFactory <clinit>
我google,baidu了很久都没有好的说法,有的人说没有缺少了什么包,但是我将Struts里面所有的包都引入了还是照样没有解决问题。然后我试着将Eclipse原本的server文件夹,以及其他所有的项目文件夹全部删掉,重新引入struts的例子,就是struts-2.0.6-blank,RUN ON SERVER,重新定义了下tomcat,结果发现居然正常运行了。。我猜测可能是例子运行环境跟原本的配置有冲突。。不管怎么样~总算是运行了,算是迈出了学习Struts的第一步了。特意写了这个文章,算是纪念吧,也希望对其他刚接触了Struts的人有所帮助。都是初学者,入门这一步最痛苦了。发个求问贴几天没人回的痛苦好多人经历过吧。忍忍,多年媳妇总能熬成婆的。
补充:如果将Struts中的包全部引入好像也会导致这个问题,可能包直接互相冲突。我按一个教程将所有包引入,发现老是这个错误,我将服务器删掉重建,然后只引入5个包,就是在范例blank里面的5个包引入,终于可以了。
补充:范例在下载的struts 2.0.6 的附带的文件夹下面可以找到.其中blank是最简单的初始的例子.</clinit>