在JBoss 7.1.1中,如何使我的WAR依赖于我的EAR

时间:2013-04-15 16:10:01

标签: jboss dependencies

我正在将我的4.2.2 JBoss应用程序迁移到7.1.1。我的大部分都在工作,但是当我的WAR文件在用于数据库访问的EAR文件之前加载时,偶尔会出现错误。

我目前通过将WAR置于部署目录的子目录中来延迟WAR的负载,但这看起来像是一块垃圾。

我已经尝试将EAR文件作为模块放入,并且它们通过放置在战争中的jboss-deployment-structure.xml文件使WAR依赖它。这似乎加载正常,但数据库访问不会被推进。

我尝试将ear添加到WAR清单中的dependencies标记,但是也不起作用。

有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

是。使用<initialize-in-order>true</initialize-in-order>

在application.xml中:

<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="6" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_6.xsd">

  <application-name>sampleapp</application-name>
  <initialize-in-order>true</initialize-in-order>
  <module>
    <ejb>some-ejb.jar</ejb>
  </module>
  <module>
    <web>
      <web-uri>some-web-app.war</web-uri>
      <context-root>test</context-root>
    </web>
  </module>
</application>

然后将遵循您在application.xml中指定的顺序。

available through maven ear plugin