是否可以将 2 web.xml 与 Maven 覆盖合并
Is it possible to merge 2 web.xml with Maven overlay
我在 war 项目中定义了一个 Web 应用程序 'A'。
我创建了另一个 Web 应用程序 'B',它导入了带有覆盖层的 'A' 的全部内容。
应用程序 'B' 的文件 web.xml 与应用程序 'A' 相同,除了额外的侦听器。
因此 B 的 web.xml 包含大量与 A.
重复的内容
问题是:
是否可以告诉 maven-war-plugin 合并 A 和 B 的 web.xml,而不是用 B 的 web.xml 替换 A 的 web.xml?
在你的情况下——额外的听众——有一个简单的解决方案。
如果你的应用是Servlet 3.0或更高版本,你可以注册B监听器注解:
@WebListener
public class BListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Started BListener");
}
如果B的影响比extra listener更复杂,可以考虑web-fragment(需要Servlet 3.0)
我在 war 项目中定义了一个 Web 应用程序 'A'。 我创建了另一个 Web 应用程序 'B',它导入了带有覆盖层的 'A' 的全部内容。
应用程序 'B' 的文件 web.xml 与应用程序 'A' 相同,除了额外的侦听器。 因此 B 的 web.xml 包含大量与 A.
重复的内容问题是: 是否可以告诉 maven-war-plugin 合并 A 和 B 的 web.xml,而不是用 B 的 web.xml 替换 A 的 web.xml?
在你的情况下——额外的听众——有一个简单的解决方案。 如果你的应用是Servlet 3.0或更高版本,你可以注册B监听器注解:
@WebListener
public class BListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
System.out.println("Started BListener");
}
如果B的影响比extra listener更复杂,可以考虑web-fragment(需要Servlet 3.0)