У меня есть Java-программа, которая использует файл таблицы ключей Kerberos для безопасного входа на мой сервер Hadoop. Я использовал приведенный ниже код для настройки всего, и он отлично работает в Eclipse IDE, но когда я создаю из него исполняемый jar-файл через Maven и запускаю его в командной строке, он не работает. Я вижу, что он может прочитать файл keytab, но не может получить пароль для указанного идентификатора пользователя, поэтому возникает ошибка. Что посоветуете?
Configuration conf = new Configuration();
conf.set("hadoop.security.authentication", "kerberos");
UserGroupInformation.setConfiguration(conf);
URL file = this.getClass().getClassLoader().getResource("file.keytab");
UserGroupInformation.loginUserFromKeytab("xyzUser", file.getPath());
Мой файл keytab сохранен в корневой папке, и я добавил его в свой pom.xml в качестве тега ресурса. Ниже приведена команда, с помощью которой я тестирую свой jar-файл:
java -jar myjar-0.0.1-SNAPSHOT-jar-with-dependencies.jar
Подробнее здесь: https://stackoverflow.com/questions/439 ... h-login-lo