如何配置禁止EAR文件中WAR文件的启动?

时间:2009-11-03 14:53:22

标签: java spring deployment java-ee jboss

我有一个包含4个war文件的ear文件。我们将这些组合在一起的主要原因是,启动顺序很重要,从部署角度来看更容易(客户只获取一个文件,而不必担心哪些版本一起工作)。

耳朵文件将部署在4个不同的系统上,这些系统有点不同,因此在其中两个服务器上甚至不需要启动其中一个战争应用程序。

运行时环境是JBOSS 4.2.2。

因此我的问题是:如果我想通过properties-service.xml中定义的属性配置它,我有什么选择来阻止war文件的启动?

另一个选项,因为应用程序实际上是spring应用程序,会阻止启动ContextLoaderListener,但在这里我也不知道如何通过配置来实现。

2 个答案:

答案 0 :(得分:1)

嵌入在EAR文件中的WAR文件不会部署为Web应用程序,除非它们在EAR的application.xml部署描述符中定义为模块。如果您使用的是JBoss特定的部署策略而不是J2EE标准描述符,则必须在那里更改配置。

答案 1 :(得分:1)

您可以在META-INF / application.xml中添加战争列表

<application xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/application_5.xsd" version="5">

  <module>
    <web>
      <web-uri>war1.war</web-uri>
       <context-root>/war1</context-root> 
    </web>   
  </module>
  <module>
    <web>
      <web-uri>war2.war</web-uri>
      <context-root>/war2</context-root>
    </web>   
  </module>


  <library-directory>lib</library-directory>

</application>

未使用的战争中的春天环境将无法开始。每场战争你将获得一个春季应用场景。 (除非您使用共享上下文)