Загрузить класс в войне в глобальный classpath (Wildfly)

Я хочу развернуть файл war на сервере Wildfly 10 и открыть класс для глобального пути классов. Я хочу иметь возможность использовать этот класс в других военных файлах.

Вы знаете, возможно ли это во время развертывания?

С наилучшими пожеланиями Алекс

1 ответ

Различные военные файлы в deployments каталог разделен разными загрузчиками классов. Следовательно, вы не можете получить доступ из одной войны классов из другой войны.

Если вам нужна "глобальная" функциональность, доступная для всех развертываний, вы можете добавить новый модуль. Настройте и вызовите следующую команду:

./jboss-cli.sh -c --command="module add --name=<your-module> --resources=<path-to-file>/<your-jar>.jar --dependencies=<your-dependencies-comma-separated>"

Это создаст новую папку под $JBOSS_HOME\modules с module.xml файл рядом с вашей банкой. Для получения дополнительной информации о добавлении модулей посмотрите, например, здесь.

Затем добавьте зависимость от этого нового модуля в два файла war, либо добавив имя модуля в Class-Path запись в вашем MANIFEST.MF файл или путем предоставления выделенного jboss-deployment-structure.xml файл (для получения дополнительной информации см. здесь).

Другие вопросы по тегам