如何使用自定义module.xml并使用Spring Boot Application在JBOSS EAP6.4的自定义模块之后进行部署

时间:2016-10-11 08:04:57

标签: java spring spring-boot classloader jboss6.x

我们正在为我们的项目使用artesia第三方产品,它部署在JBOSS EAP6.4中,我想在我们的项目中使用spring boot,当我编写示例REST Web服务时,我能够通过URL访问REST Web服务

根据我们产品的文档,如果我们需要自定义项目,我们需要通过在META-INF文件夹中指定以下两个JBOSS文件来编写自定义war;

的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>

上面的部署模块包含项目运行所需的所有jar。

当我按照同样的方式创造没有弹簧的战争时,它就成功了,没有任何问题,我们可以用它来定制战争。

现在我想在Spring-boot 1.4.1应用程序中做同样的事情,我的spring启动应用程序应该在artesia.ear成功启动之后启动,除了spring jar之外,我的spring-boot应用程序应该使用来自module.xml的jar。

我已将上述两个xml放在spring boot应用程序的META-INF中,但在JBOSS EAP6.4中部署时失败了

以下是我得到的错误 jboss-server.log

我需要做些什么来为我的spring-boot应用程序使用它

编辑1:

我尝试将两个jboss文件放在spring-boot应用程序的WEB-INF文件夹下但仍面临同样的问题

1 个答案:

答案 0 :(得分:0)

我们需要确保META-INF和WEB-INF文件夹并排放置,而不是将META-INF文件夹保存在WEB-INF的类文件夹中,这是默认的spring-boot META-INF文件夹所在的位置。 / p>