java.lang.NoClassDefFoundError: org/apache/struts/action/ActionMessagesorg/apache/struts/action目录下的ActionMessages类未定义, 看看是不是少包或者包冲突或者没有加载完全或者其它错误

解决方案 »

  1.   

    java.lang.NoClassDefFoundError: org/apache/struts/action/ActionMessages  你用的structs的jar包版本是多少?跟你Jboss里面的版本不一致,在WEB-INF目录下新建jboss-web.xml文件,文件内容如下:
       <!DOCTYPE jboss-web PUBLIC "-//JBoss//DTD Web Application 5.0//EN"
         "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
    <jboss-web>     
    <!-- For load class independently  用来配置JBoss的class loader,避免class加载冲突 -->
    <class-loading java2ClassLoadingCompliance='true'>
    <loader-repository>com.example:archive=test.war
    <loader-repository-config>java2ParentDelegaton=true</loader-repository-config>
    </loader-repository>
    </class-loading>
    </jboss-web>这样在加载应用时,先加载应用中lib下的Jar注意NoClassDefFoundError跟ClassNotFound是完全不同的异常,前者是有java类但是版本冲突,后者是jar包缺失