jdk是1.8 改了一些dubbo后台的依赖引入:
1、webx的依赖改为3.1.6版;
<dependency>
<groupId>com.alibaba.citrus</groupId>
<artifactId>citrus-webx-all</artifactId>
<version>3.1.6</version>
</dependency>
2、添加velocity的依赖,我用了1.7;
<dependency>
<groupId>org.apache.velocity</groupId>
<artifactId>velocity</artifactId>
<version>1.7</version>
</dependency>
3、对依赖项dubbo添加exclusion,避免引入旧spring
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>${project.parent.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>
4、webx已有spring 3以上的依赖,因此注释掉dubbo-admin里面的spring依赖
<!--<dependency>-->
<!--<groupId>org.springframework</groupId>-->
<!--<artifactId>spring</artifactId>-->
<!--</dependency>-->
启动到dubbo后台首页正常,点击任何按钮就报错了
确认没有引进spring 3以下版本,没有citrus-webx-all冲突包,citrus-webx-all的jar包有在lib目录下
请大神帮忙解决下
看了下Servlet3Util源码
package com.alibaba.citrus.util.internal; import static com.alibaba.citrus.util.Assert.*; import static com.alibaba.citrus.util.CollectionUtil.*; import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.EventListener; import java.util.List; import javax.servlet.ServletOutputStream; import javax.servlet.WriteListener; import javax.servlet.http.HttpServletRequest; import net.sf.cglib.reflect.FastClass; import net.sf.cglib.reflect.FastMethod;
/** * Servlet 3.0 Support -
即使在非servlet 3.0的环境中,也不会出错。 * 此类会引用如下几个Servlet 3.0的接口。在Servlet 2.5的环境中,接口由citrus-common-servlet
项目提供。 * <ul> * <li><code>WriteListener</code></li> * </ul> * * @author Michael Zhou */ public class Servlet3Util {
注释说明需要使用servlet3.0的版本,所以换了tomcat8,启动后正常
servlet2.5版本是没有WriteListener类的
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。