Как заставить wildfly-8.2.1.Final загружать.class из каталога, а не из войны?

Я хочу загрузить файл.class из данного каталога, поэтому я поместил скомпилированный файл в каталог /opt/wildfly-8.2.1.Final/modules/packagename/, а также сервер загружает классы из того же каталога, а не из войны (WEB-INF/ классы / имя_пакет /).

1 ответ

Решение

Я сам не пробовал этот метод, но вы должны:

  1. Переехать /opt/wildfly-8.2.1.Final/modules/packagename/ в/opt/wildfly-8.2.1.Final/modules/custom-classes/main/packagename/
  2. Добавить файл module.xml в/opt/wildfly-8.2.1.Final/modules/custom-classes/main/
  3. Добавить файл jboss-deployment-structure.xml на твою войну.
  4. Разверните войну, перезапустите сервер и затем снова разверните войну.

Содержание 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>

Ресурсы:

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