maven-2 - 从 2 个 war 项目中创建一个大型 war 文件

标签 maven-2

有人知道将 2 个 war 模块合并到一个大 war 文件中的好方法吗?

也许通过一些自定义的 maven 插件,或者 maven-war-plugin 配置?

谢谢

最佳答案

没那么简单。

基本问题是每个 WAR 在容器中都是它自己的命名空间,因此如果 WAR A 覆盖 WAR B 中的某些内容(index.jsp 就是一个很好的例子),将它们简单地混合在一起很容易产生冲突。

谨慎的做法是获取每个 WAR 并将它们放入新 WAR 的子树中,但即使如此,您仍然有需要解析的“全局”工件,尤其是 web.xml 的内容,但是还有诸如属性文件之类的东西,这些文件往往是“每个 WAR 一个”,例如 log4j.properties。

最后,可移植 WAR 不会将其 WAR 名称“硬编码”到它们的链接中,而是依赖于从请求中获取上下文路径。但是,如果您将两个 WAR 合并到一个主 WAR 下,则上下文路径仅指向应用程序的根目录,而不是每个单独 WAR 的特定子目录。因此,您需要查找所有这些引用,或路径被硬编码的引用,并更正它们。

因此,确实没有自动合并 WAR 的方法。

关于maven-2 - 从 2 个 war 项目中创建一个大型 war 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2524058/

相关文章:

maven - 依赖解析错误

maven-2 - 如何更改 Maven 日志记录级别以仅显示警告和错误?

java - 如何解决 java.lang.NoSuchMethodError

maven-2 - 递归定义 Maven 属性

java - Maven eclipse 不添加依赖

maven-2 - maven,通过命令行客户端浏览中央存储库

java - Maven:如何读取父 POM 版本

maven-2 - JEE6 全局 JNDI 名称和 Maven 部署

linux - Maven 构建使用/分配大量内存

eclipse - java.lang.NoClassDefFoundError maven + eclipse