zookeeper的jar包引入

Caused by: java.lang.ClassNotFoundException: org.apache.zookeeper.WatcherEventEventEventKeeperState

<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.9</version>
</dependency>

这个ClassNotFoundException的异常,一般来说都是jar包缺失,或者版本号的问题,zk的Watcher即使能够找到,有时候也会报这个异常

		<dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
        </dependency>

依赖展示图 1
这样的话,就会导致zk的重复引用,且两层引用的版本不一致,导致zk的实例化不能正常进行,所以就会出现ClassNotFoundException的异常信息
一般来说,在依赖zkclient的时候,需要将zookeeper的依赖过滤掉

		<dependency>
            <groupId>com.github.sgroschupf</groupId>
            <artifactId>zkclient</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.apache.zookeeper</groupId>
                    <artifactId>zookeeper</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

这样便不会有依赖重复jar包的问题

Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐