struts2-2.5.10使用struts2-convention-plugin启动后报错,求高手指教

HosiHui 2017-02-27 10:43:06
我用maven构建一个struts2的项目,依赖如下:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.5.10</version>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-convention-plugin</artifactId>
<version>2.5.10</version>
</dependency>

启动后报错信息:
java.lang.IncompatibleClassChangeError: class org.apache.struts2.convention.DefaultClassFinder$InfoBuildingVisitor has interface org.objectweb.asm.ClassVisitor as super class

看这错误信息的意思是:DefaultClassFinder$InfoBuildingVisitor 这个类把 org.objectweb.asm.ClassVisitor 这个接口当做父类来继承了,但是我看了struts2-convention-plugin-2.5.10.jar里的这个类的源码:
public class InfoBuildingVisitor extends ClassVisitor
这里它是继承了ClassVisitor这个类,但这个ClassVisitor类在asm-5.1.jar包中是个抽象类,并非接口!源码如下:
public abstract class ClassVisitor
我就很不明白为什么会包这个错误!

另外我用2.3.31版本的struts2就不会有任何问题!
...全文
534 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
HosiHui 2017-02-28
  • 打赏
  • 举报
回复
。。。。顶。。
HosiHui 2017-02-27
  • 打赏
  • 举报
回复
自己顶。。。。
aopalliance-1.0.jar,asm-5.1.jar,asm-commons-5.1.jar,asm-tree-5.1.jar,bsh-2.0b4.jar,classworlds-1.1.jar,commons-beanutils-1.9.2.jar,commons-collections-3.2.1.jar,commons-digester-2.1.jar,commons-fileupload-1.3.2.jar,commons-io-2.4.jar,commons-lang-2.4.jar,commons-lang3-3.4.jar,commons-logging-1.1.3.jar,dwr-1.1.1.jar,ezmorph-1.0.6.jar,freemarker-2.3.23.jar,google-collections-1.0.jar,google-gxp-0.2.4-beta.jar,hamcrest-core-1.3.jar,jackson-annotations-2.6.0.jar,jackson-core-2.6.1.jar,jackson-databind-2.6.1.jar,javassist-3.20.0-GA.jar,jcl-over-slf4j-1.7.6.jar,jcommander-1.12.jar,json-lib-2.3-jdk15.jar,juli-6.0.18.jar,log4j-api-2.7.jar,ognl-3.1.12.jar,org.apache.felix.framework-4.0.3.jar,org.apache.felix.main-4.0.3.jar,org.apache.felix.shell-1.4.3.jar,org.apache.felix.shell.tui-1.4.1.jar,org.osgi.compendium-4.0.0.jar,org.osgi.core-4.1.0.jar,oval-1.31.jar,plexus-container-default-1.0-alpha-10.jar,plexus-utils-1.2.jar,sitemesh-2.4.2.jar,slf4j-api-1.7.12.jar,snakeyaml-1.6.jar,spring-aop-4.1.6.RELEASE.jar,spring-beans-4.1.6.RELEASE.jar,spring-context-4.1.6.RELEASE.jar,spring-core-4.1.6.RELEASE.jar,spring-expression-4.1.6.RELEASE.jar,spring-test-4.1.6.RELEASE.jar,spring-web-4.1.6.RELEASE.jar,struts2-bean-validation-plugin-2.5.10.jar,struts2-cdi-plugin-2.5.10.jar,struts2-config-browser-plugin-2.5.10.jar,struts2-convention-plugin-2.5.10.jar,struts2-core-2.5.10.jar,struts2-dwr-plugin-2.5.10.jar,struts2-embeddedjsp-plugin-2.5.10.jar,struts2-gxp-plugin-2.5.10.jar,struts2-jasperreports-plugin-2.5.10.jar,struts2-javatemplates-plugin-2.5.10.jar,struts2-jfreechart-plugin-2.5.10.jar,struts2-json-plugin-2.5.10.jar,struts2-junit-plugin-2.5.10.jar,struts2-osgi-admin-bundle-2.5.10.jar,struts2-osgi-demo-bundle-2.5.10.jar,struts2-osgi-plugin-2.5.10.jar,struts2-oval-plugin-2.5.10.jar,struts2-pell-multipart-plugin-2.5.10.jar,struts2-plexus-plugin-2.5.10.jar,struts2-portlet-plugin-2.5.10.jar,struts2-rest-plugin-2.5.10.jar,struts2-sitegraph-plugin-2.5.10.jar,struts2-sitemesh-plugin-2.5.10.jar,struts2-spring-plugin-2.5.10.jar,struts2-testng-plugin-2.5.10.jar,struts2-tiles-plugin-2.5.10.jar,tiles-api-3.0.7.jar,tiles-autotag-core-runtime-1.2.jar,tiles-core-3.0.7.jar,tiles-el-3.0.7.jar,tiles-freemarker-3.0.7.jar,tiles-jsp-3.0.7.jar,tiles-ognl-3.0.7.jar,tiles-request-api-1.0.6.jar,tiles-request-freemarker-1.0.6.jar,tiles-request-jsp-1.0.6.jar,tiles-request-servlet-1.0.6.jar,tiles-servlet-3.0.7.jar,tiles-template-3.0.7.jar,validation-api-1.1.0.Final.jar,velocity-1.7.jar,xmlpull-1.1.3.1.jar,xpp3_min-1.1.4c.jar,xstream-1.4.8.jar
  一、漏洞简介     Apache Struts是美国阿帕奇(Apache)软件基金会负责维护的一个开源项目,是一套用于创建企业级Java Web应用的开源MVC框架,主要提供两个版本框架产品:Struts 1和Struts 2。     Apache Struts 2.3.5 - 2.3.31版本及2.5 - 2.5.10版本存在远程代码执行漏洞(CNNVD-201703-15 2,CVE-2017-5638)。该漏洞与Apache Struts2 (S2-045)远程代码执行漏洞原理基本相同,均是由于上传功能的异常处理函数没有正确处理用户输入的错误信息,导致远程攻击者可通过发送恶意的数据包,利用该漏洞在受影响服务器上执行任意命令。      二、漏洞危害     攻击者可通过发送恶意构造的HTTP数据包利用该漏洞,在受影响服务器上执行系统命令,进一步可完全控制该服务器,造成拒绝服务、数据泄露、网站造篡改等影响。由于该漏洞利用无需任何前置条件(如开启dmi,debug等功能)以及启用任何插件,因此漏洞危害较为严重。     三、修复措施     目前,Apache官方已针对该漏洞发布安全公告,并且漏洞利用代码已被公布在互联网上,请受影响用户及时检查是否受该漏洞影响。另外,已通过升级方式修复了Apache Struts2 (S2-045)远程代码执行漏洞的用户,不在该漏洞影响的范围内。     【自查方式】     用户可查看web目录下/WEB-INF/lib/目录下的struts-core.x.x.jar文件,如果这个版本在Struts2.3.5 到 Struts2.3.31 以及 Struts2.5 到 Struts2.5.10之间则存在漏洞。     【升级修复】     受影响用户可升级版本至Apache Struts 2.3.32 或 Apache Struts 2.5.10.1以消除漏洞影响。     官方公告: https://cwiki.apache.org/confluence/display/WW/S2-046 https://cwiki.apache.org/confluence/display/WW/S2-046

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧