Как заставить wildfly-8.2.1.Final загружать.class из каталога, а не из войны?
Я хочу загрузить файл.class из данного каталога, поэтому я поместил скомпилированный файл в каталог /opt/wildfly-8.2.1.Final/modules/packagename/, а также сервер загружает классы из того же каталога, а не из войны (WEB-INF/ классы / имя_пакет /).
1 ответ
Решение
Я сам не пробовал этот метод, но вы должны:
- Переехать
/opt/wildfly-8.2.1.Final/modules/packagename/
в/opt/wildfly-8.2.1.Final/modules/custom-classes/main/packagename/
- Добавить файл
module.xml
в/opt/wildfly-8.2.1.Final/modules/custom-classes/main/
- Добавить файл
jboss-deployment-structure.xml
на твою войну. - Разверните войну, перезапустите сервер и затем снова разверните войну.
Содержание module.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="custom-classes">
<resources>
<resource-root path="."/>
</resources>
</module>
Содержание jboss-deployment-structure.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="custom-classes" />
</dependencies>
</deployment>
</jboss-deployment-structure>
Редактировать: если вы хотите добавить jar, а также не-jared классы в свой модуль, вы должны не только копировать jar-файлы в /opt/wildfly-8.2.1.Final/modules/custom-classes/main/
, но также список банок в module.xml
как это:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.3" name="custom-classes">
<resources>
<resource-root path="."/>
<resource-root path="dependency1.jar"/>
<resource-root path="dependency2.jar"/>
<!-- and so on for other jars -->
</resources>
</module>
Ресурсы: