【发布时间】:2020-07-17 12:04:42
【问题描述】:
我正在尝试运行一个连接到 HBase 的旧项目。
它具有(以及其他依赖项):
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>1.2.0-cdh5.7.2</version>
</dependency>
当应用程序启动并在org.apache.hadoop.hbase.client.ConnectionFactory 类中的createConnection 方法内到达此代码时:
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
所以我在 Google 中寻找此类 KeyProviderTokenIssuer,但没有找到它应该来自哪里。
为什么系统试图使用这个类,我应该从哪里得到它? Crypto 包不是 hbase-client 依赖项的一部分,我在 https://mvnrepository.com/ 中看不到这种情况
这里可能有一些库不匹配吗?
我在 Windows 上运行。有关系吗?
【问题讨论】:
标签: java reflection hbase hbase-client