我正在尝试运行一个连接到 HBase 的遗留项目。
它具有(在其他依赖项中):
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.2.0-cdh5.7.2</version>
</dependency>
当应用程序启动并createConnection
在类的方法中到达此代码时org.apache.hadoop.hbase.client.ConnectionFactory
:
try{
....
return (Connection) constructor.newInstance(conf, managed, pool, user);
} catch (Exception e) {
throw new IOException(e);
}
抛出并捕获了一个异常,说:
java.lang.NoClassDefFoundError: org/apache/hadoop/crypto/key/KeyProviderTokenIssuer
所以我在谷歌中寻找这个类,KeyProviderTokenIssuer
但没有找到它应该来自哪里。
为什么系统试图使用这个类,我应该从哪里得到它?Crypto
包不是hbase-client
依赖项的一部分,我在https://mvnrepository.com/中看不到
这里是否可能存在一些库不匹配?
我在 Windows 上运行。可以相关吗?