Spark集成 hadoop,hbase 的 maven冲突

在Spark集成Hadoop和HBase的过程中,通过Maven管理依赖时遇到包兼容性问题,导致java.lang.SecurityException。冲突源于spark-core、hbase-server和hadoop-client中的servlet相关依赖。解决办法是在pom.xml中使用exclusions移除冲突的servlet-api依赖,只需排除hadoop-client和hbase-server中的冲突依赖,保留spark-core的javax.servlet依赖。

Spark和Hadoop、HBase集成,使用Maven管理依赖的时候需要考虑包的兼容性:

报错:java.lang.SecurityException: class "javax.servlet.FilterRegistration"'s signer information does notmatch signer information of other classes in the same package

 

  三个依赖有冲突:

         spark-core: org.eclipse.jetty.orbit:javax.servlet

         hbase-server:org.mortbay.jetty:servlet-api-2.5

         hadoop-client:javax.servlet:servlet-api

  解决方案:

    直接在maven的pom.xml文件中使用exclusions元素将冲突包进行去除

    直接在hadoop-client和hbase-server中进行去除就可以了

    注意:不要把org.eclipse.jetty.orbit:javax.servlet这个依赖去除了

 <dependency>

            <groupId>org.apache.hbase</groupId>

            <artifactId>hbase-server</artifactId>

            <version>${hbase.version}</version>

            <exclusions>

                <exclusion>

                    <artifactId>servlet-api-2.5</artifactId>

                    <groupId>org.mortbay.jetty</groupId>

                </exclusion>

            </exclusions>

        </dependency>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值