如何在战争与Maven War Plugin之间重用战争资源

时间:2013-01-03 15:37:25

标签: jsp maven reusability jspinclude

在Java EE环境下,我构建了一个包含多个JSP文件的网页。 可以说,其中一个包含的JSP是 header.jsp 。可以与Stackoverflow使用的非常类似,显示有关用户,链接等的信息。此JSP链接到java控制器以获取用户信息,并且是我的WAR文件的一部分,包括所有Web应用程序。

为了开发它,我使用Eclipse并使用Maven构建和打包它。

现在我需要构建一个新的webApplication(这是一场新的战争),我想重用这个标题。

我假装的是:

  • 不重复代码
  • 两场战争都使用一个版本的标题代码

所以问题是:

有办法避免复制&将两个文件(header.jsp和amp; controller.java)从旧项目粘贴到新项目?

1 个答案:

答案 0 :(得分:8)

Maven WAR plugin,即为您处理WAR文件打包的插件,提供"Overlay" mechanism来解决此问题。您已经使用WAR插件,只需让您的项目为“WAR”类型; maven使用它作为如何构建项目的线索,包括使用WAR插件进行包相绑定。

Overlay的工作方式是你的WAR文件将另一个WAR项目声明为依赖项,就像你要对所需的jar文件进行依赖一样。当WAR插件的包mojo触发时,它将看到这个依赖于另一个WAR并将你的新战争构建为两者的组合。注意,如果文件同时存在于WARS中,则不会合并文件;一个简单地覆盖另一个。您可以配置插件以选择使用哪个插件;默认情况下,它是获胜的当前项目文件。另请注意,如果您愿意,您可以依赖的不仅仅是一场战争。