h_zion吧 关注:0贴子:229
  • 5回复贴,共1

【技术贴】JAVA EE异常

只看楼主收藏回复

RT


1楼2012-08-28 13:28回复
    严重: Dispatcher initialization failed java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    上网查,了解到在struts2.2.*的版本中,必须加入javassist-3.7.ga.jar,然而,此jar包,并不在struts-2.2.*\lib下,而在struts-2.2.*\apps\struts2-blank-2.2.*.war下的lib中。按照网络上的方法,果然可行。
    


    2楼2012-08-28 13:28
    回复
      java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils
      org/apache/commons/lang/StringUtils,找吧,在struts2.3/lib目录下有一个commons-lang-2.5.jar,将此文件复制到项目WEB/lib目录下就可以了。


      3楼2012-08-28 13:33
      回复
        Caused by: Unable to load bean: type:com.opensymphony.xwork2.UnknownHandler class:org.apache.struts2.convention.ConventionUnknownHandler - bean - jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/oa/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar!/struts-plugin.xml:30:119
        [原因&解决]:
        这是apache的失误。按照官方文档说明,运行Struts2必须加载5个核心jar包,也就是咱们一开始拷贝的5个jar包,如果你用的是 Struts2之前的版本是没有问题的,但是如果去下载这个新版本,就会报如上错误,因为还需要加载另外两个jar包,可是官方的说明文档没有更新。
        解决方案:在Struts2的解压缩文件夹内的lib文件夹里, 我们找到下列2个jar : commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar,把他们复制到项目根目录下的"WEB- INF"lib"文件夹内。
        既然少了jar,图省事把包struts lib下的jar全都复制到工程目录中。这样做又会出现类似上面的错误提示。所以如非必要,不要加载其它的jar,这大概是struts2.1.6的bug。一般只需加载以下7个jar: struts2-core-2.1.6.jar、
        xwork-2.1.2.jar、
        freemarker-2.3.13.jar、
        ognl-2.6.11.jar、
        commons-logging-1.0.4.jar、
        commons-fileupload-1.2.1.jar、
        commons-io-1.3.2.jar
        还有"叶现一"(http://blog.csdn.net/yexianyi/)提供的办法:将struts-2.1.6-all.zip中apps 文件夹中struts2-blank-2.1.6.war文件解压。进入struts2-blank-2.1.6"WEB-INF"lib,只将该文件夹下的9个jar包导入到项目工程中即可,其余的包如果没有用到切不可轻易导入。


        4楼2012-08-28 13:38
        回复

          HTTP Status 404 - There is no Action mapped for namespace [/] and action name [action1] associated
          web.xml中 <filter-mapping> 中/*改为*.action


          5楼2012-08-28 13:52
          收起回复