Как использовать пользовательский module.xml и развертывание после пользовательского модуля JBOSS EAP6.4 с приложением Spring Boot

#java #spring #spring-boot #classloader #jboss6.x

#java #spring #spring-boot #загрузчик классов #jboss6.x

Вопрос:

Мы используем продукт artesia 3rd party для нашего проекта, и он развернут в JBOSS EAP6.4, я хочу использовать spring boot в нашем проекте, и когда я пишу примеры веб-сервисов REST, я могу получить доступ к веб-службе REST по URL.

Согласно документации нашего продукта, если нам нужно настроить проект, нам нужно написать нашу пользовательскую войну, указав ниже два файла JBOSS внутри папки META-INF

jboss-all.xml

 <?xml version="1.0" encoding="UTF-8"?>
<jboss umlns="urn:jboss:1.0">
    <jboss-deployment-dependencies xmlns="urn:jboss:deployment-dependencies:1.0">
        <dependency name="artesia.ear" />
    </jboss-deployment-dependencies>
</jboss>
  

итак, наша пользовательская логика должна начинаться после успешного запуска artesia.ear.

наш jboss-deployment-structure.xml

 <?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <sub-deployment>
        <dependencies>
            <module name="deploy" />
        </dependencies>
    </sub-deployment>
</jboss-deployment-structure>
  

Приведенный выше модуль развертывания содержит все банки, необходимые для запуска проекта.

Когда я следую тому же и создаю war без spring, он прошел успешно, и проблем нет, мы можем использовать для настройки war.

Теперь я хочу сделать то же самое в приложении Spring-boot 1.4.1, где мое приложение spring boot должно запускаться после успешного запуска artesia.ear, и, кроме spring jars, мое приложение spring-boot должно использовать банки из module.xml .

Я разместил два вышеупомянутых XML-файла внутри META-INF приложения spring boot, но при развертывании в JBOSS EAP6.4 происходит сбой

Ниже приведена ошибка, которую я получаю jboss-server.log

Что мне нужно сделать, чтобы использовать то же самое для моего приложения spring-boot

РЕДАКТИРОВАТЬ 1:

Я попытался поместить оба файла jboss в папку WEB-INF приложения spring-boot, но все равно столкнулся с той же проблемой

Ответ №1:

Нам нужно убедиться, что папки META-INF и WEB-INF лежат рядом, вместо того, чтобы хранить папку META-INF внутри папки classes WEB-INF, в которой находится папка META-INF spring-boot по умолчанию.