Сварщик не может найти бин в другой банке на пути к классам при запуске из командной строки - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть простое автономное приложение, которое использует weld-se, но мне не удается обнаружить bean-компоненты из всех архивов bean-файлов на моем classpath

По сути, у меня есть несколько файлов jar в каталоге, гдеЯ запускаю:

java -classpath * a.b.c.Generator

Два из этих файлов jar являются архивами бинов, и бины, содержащиеся в банке, где происходит weld.initialize (), хорошо обнаружены.

Однако, те издругие файлы JAR полностью игнорируются.Это кажется странным для меня, хотя мне не интересно, действительно ли это так, как было задумано.И если да, то каким будет другое решение?

1 Ответ

0 голосов
/ 06 февраля 2019

В моем случае я не смог заставить Weld обнаруживать bean-компоненты в других jar-файлах на моем classpath при запуске через командную строку, как упомянуто.

Зарегистрированный beanmanager обнаруживает только bean-компоненты сjar-файл, где инициализируется сваркаВедение журнала указывает на это, отмечая «Диспетчер bean для» / jar / C: / .... », так что только для одного файла JAR.

Чтобы обойти это, я объединил все файлы JAR, из которых мне нужнобины обнаружены (с пустым META-INF / beans.xml), а затем запустили мое приложение, как указано выше.

...