我的一个项目中用了struts2,开发环境中运行没错,但是发布到空间中去,只要加了页面验证的地方都会报错,我在网上搜了一下,都说是xwork.jar 的问题是个bug,我用的是x-work-2.0.7.jar但我换了几个版本的jar包都不行阿,求高人指导
页面报错
javax.servlet.ServletException: Could not initialize class com.opensymphony.xwork2.validator.ActionValidatorManagerFactory
根据你的Struts版本找到对应的 xwork-core-XXX的jar包。
在Struts发行包的lib下有。
Struts2.1.8 --> xwork-core-2.1.6.jar
Struts2.1.6 --> xwork-core-2.1.2.jar
struts2 版本依赖的xwork版本是确定的,也随着struts2的发布包里有的,
你可能是版本不对导致
可能是版本不对,部署后找不到相应的类文件
[b]
你的Struts2是什么版本的? 在Apache官网下载该 Struts2的发行包,然后再lib目录中,找到xwork的jar包。
换上试试,不行的话,从Xwork的官网下载对应版本的xwork的jar包[/b]
[b]目前最稳定的是 2.1.8的版本[/b]
有bug也不至少出这种bug吧
每个版本 的依赖是确定的,不要随便升级版本,搞不好把没问题的整出问题了
xwork-2.0.7.jar
struts2-core-2.0.14.jar
ognl-2.6.11.jar
commons-logging-1.0.4.jar
freemarker-2.3.8.jar
这样的版本是正确的,
可能是由别的因素导致吧
我这里有2.1.8版本的Jar包,你要是想试一下,我发给你,你用到了struts2的验证了吗,如果用了,需要加上commons-validator.jar这个包
我觉得 是你 在开发环境中用到的jar 可能和你 放到 空间上时 jar不一致。。
应该不是Jar包的问题,不要急,把原来的Jar包换回来,错误很明显是因为com.opensymphony.xwork2.validator.ActionValidatorManagerFactory这个类加载的时候没有找到,你把这个类换成这个com.opensymphony.xwork2.validator.ActionValidatorManager再试一下,
本地行 发布不行
包的版本不要换了。估计是类引用问题。。
xwork-2.0.4.jar
struts2-core-2.0.11.jar
ognl-2.6.11.jar
freemarker-2.3.8.jar
我项目的版本
我感觉你的配置有问题,具体详解配置,你参考一下这篇文章:
http://www.phome.asia/forum/thread/15590.html
把相关的配置文件的内容贴出来看看,这么多讨论Jar的问题都没有帮你解决,应该不是Jar包的问题了。。。错误升级到代码级别了吧。。。
首先,你在你本地环境可以运行,在空间上面运行不了,
你JAR包应该是没有问题的, (除非你用得JAR包和你上传的不一样,webwork最好还是用struts2里面自带的,LIB包里面就有, 2.1.8里面是2.1.6)
最好用较高版本的啊
如果你用的是tomcat,请换到更高版本。。
有可能是冲突问题,jar包冲突,有的服务器和struct的包冲突,我猜测是类加载时出的问题。
你那几个包最好都用 一个版本的。。。要不兼容又问题。。
贴出来别的配置看看,没准就是其它地方也说不定呢!
贴出来别的配置看看,没准就是其它地方也说不定呢!
换个xwork-core-2.1.6试试,我的是这个版本,没问题
楼主看看Tomcat的路径是否存在空格 。
看一下你的配置xml文件