Подключаемый модуль аутентификации HiveMQ с зависимостью от сторонней библиотеки

Я разрабатываю плагин аутентификации для брокера HiveMQ. Я могу интегрировать и запустить плагин. Пока нет проблем.

однако у меня мало зависимости от сторонних jar-файлов (используемых самим плагином).

Как я могу добавить их в путь к классам, чтобы эти сторонние jar-файлы были доступны для HiveMQ при выполнении плагинов.

Спасибо


person param83    schedule 07.02.2015    source источник


Ответы (1)


Самый простой способ добавить сторонние зависимости в плагин HiveMQ — это добавить зависимость через Maven. Просто отредактируйте файл pom.xml и добавьте необходимые зависимости. Если вы не знаете точную группу и идентификатор артефакта вашей библиотеки, вы можете просмотреть, например. http://mvnrepository.com, чтобы найти правильную запись Maven.

Затем просто упакуйте свой подключаемый модуль, как всегда, как описано в главе об упаковке руководства по разработке подключаемого модуля HiveMQ: http://www.hivemq.com/docs/plugins/2.2.0/#pack-deploy-chapter

person Dominik Obermaier    schedule 07.02.2015
comment
Должен ли я включать свою банку зависимостей как часть моей банки плагинов? (или) Обратитесь к jar зависимостей из файла MANIFEST jar плагина? Не могли бы вы быть более подробным и любезно сообщить мне соответствующий плагин maven? - person param83; 09.02.2015
comment
param83: когда вы используете задание по упаковке maven, классы jar зависимостей включаются в jar плагина, потому что он использует плагин maven shadow (который создает толстый jar). Хорошей отправной точкой для вашего собственного плагина является архетип плагина HiveMQ (см. документацию) или пример плагина на Github, подобный этому: github.com/hivemq/hivemq-hello-world-plugin - person Dominik Obermaier; 10.02.2015
comment
Спасибо за обновление. Я попробовал плагин maven (shade) и смог собрать все классы в одну банку uber. Однако ничего не получилось из-за специального провайдера JCE, который я использую как часть своего проекта. Однако я изменил run.bat, включив в него путь к файлам третьей части (папке зависимостей), например java -Dhivemq.home=%HIVEMQ_FOLDER% -classpath C:\work\hivemq-2.2.0\dependency*;% HIVEMQ_FOLDER%/bin/hivemq.jar com.dcsquare.hivemq.HiveMQServer Я принимаю ваш ответ, так как он решает исходную проблему. - person param83; 11.02.2015
comment
Приятно слышать, что у тебя все получилось. Спасибо, что поделились своим решением! - person Dominik Obermaier; 12.02.2015