Я пытаюсь запустить устаревший проект, который подключается к 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
в Google, но не нашел, откуда оно взято.
Почему система пытается использовать этот класс и откуда мне его взять? Пакет Crypto
не является частью зависимости hbase-client
, и я не вижу его в https://mvnrepository.com/
Возможно, здесь есть какое-то несоответствие библиотеки?
Я работаю на Windows. Это может быть связано?