我有一个包含4个war文件的ear文件。我们将这些组合在一起的主要原因是,启动顺序很重要,从部署角度来看更容易(客户只获取一个文件,而不必担心哪些版本一起工作)。
耳朵文件将部署在4个不同的系统上,这些系统有点不同,因此在其中两个服务器上甚至不需要启动其中一个战争应用程序。
运行时环境是JBOSS 4.2.2。
因此我的问题是:如果我想通过properties-service.xml中定义的属性配置它,我有什么选择来阻止war文件的启动?
另一个选项,因为应用程序实际上是spring应用程序,会阻止启动ContextLoaderListener,但在这里我也不知道如何通过配置来实现。
答案 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>
未使用的战争中的春天环境将无法开始。每场战争你将获得一个春季应用场景。 (除非您使用共享上下文)