Jboss EAP 6.1弹簧模块类加载不起作用

时间:2014-07-02 16:36:39

标签: spring jboss-eap-6

我在jboss中部署了一个spring集成项目作为WAR文件。 该项目使用maven和结构化来支持任何类型的档案战争或罐子。

但是,项目的依赖关系(所有弹簧罐和自定义jar)应该外部化

原因是,稍后将部署100个Spring Integration流程,如果我们在WEB-INF / libs中有jar,则WAR的大小增加到~50MB。由于我们在一个单独的jar中抽象了我们的大部分功能(将作为依赖项添加到我的spring集成项目中),Externalization将导致将WAR文件减少到大约5 KB。

我没有web.xml并使用WebInitializer加载上下文(这是我常用功能的一部分,并作为依赖项添加)

以下是我尝试过的JBOSS。

  1. 创建了一个模块com.xxx.yyy,并将我的所有春季/第三方和自定义jar添加为资源。
  2. 向清单文件添加了依赖项。 (这没用)
  3. jboss-deployment-structure.xml 添加到我的战争 WEB-INF (无效)
  4. 如果我给出错误的模块名称,则会将错误作为模块抛出 没找到。
  5. 战争已部署,但尚未初始化。如果我在WEB-INF / lib中有依赖项,那么一切都按预期工作。

    下面是我使用的jboss部署结构xml。

        <jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.0">
        <deployment>
            <dependencies>
                <module name="com.xxx.yyy" services="import" >
                    <imports>
                            <include path="META-INF**"/>
                          <include path="org**"/>
                    </imports>
                </module>
            </dependencies>
        </deployment>
    </jboss-deployment-structure>
    

    这是期望,

    1. 外部化Jar依赖项。
    2. 将依赖项导入我的war(manifest或jboss-deployment-structure.xml)
    3. 应该使用Spring Service应该初始化。
    4. 部署的战争应该像图书馆一样工作 在WEB-INF
    5. 请帮忙......

1 个答案:

答案 0 :(得分:0)

使用JBOSS EAP 6,没有web.xml就无法部署战争,但只有tomcat或使用spring boot才能实现。 另外,为了解决这个问题,我们必须创建一个虚拟web.xml并使用jboss模块来加载依赖项。