假设您有 2 个(或更多)Java Web 项目(Java 6、maven)需要作为 1 个 Web 应用程序(目前是 Servlet 2.5 和 Tomcat 6)发布?
如何开发这两个项目,然后它们可以更容易地结合起来?哪些框架和工具可以很好地协同工作?
假设您有 2 个(或更多)Java Web 项目(Java 6、maven)需要作为 1 个 Web 应用程序(目前是 Servlet 2.5 和 Tomcat 6)发布?
如何开发这两个项目,然后它们可以更容易地结合起来?哪些框架和工具可以很好地协同工作?
如果您在部署之前被迫捆绑不同的 Web 项目,我个人会考虑仅创建一个由 Git 或 SVN 管理的存储库。这个单一存储库将您的所有项目存储为一个存档,而不是单个项目。
这样,每个开发人员都可以使用他的项目,在这种情况下,这只是一个包。开发完成后,您可以简单地从此存储库中发布 WAR 文件,而无需担心如何集成不同的项目。
但我确信所描述的解决方案也有缺点,但这将是我对你的问题的第一个想法。
一种方法是将两个 Web 应用程序打包为一个 EAR,可以部署到一个完整的 EE 服务器。为此,您可以创建一个单独的 Maven 项目来进行组装。
话虽如此,tomcat 并不是一个完整的 EE 服务器。您只能部署 WAR。因此,您可能需要查看一些战争覆盖技术,但我发现这些技术难以使用和维护。
基本上你可以使用maven-assembly-plugin,它支持组装战争发行版:目前它可以创建以下格式的发行版:
另一种方法是maven-war-plugin,这将打包和组装 webapp,但这需要添加两个 webapps 的依赖项。
Maven 战争插件可以做覆盖。例子。这有利于包含 Web 资源,但不适用于 web.xml
还有cargo-maven2-plugin,它还可以合并 web.xml 内容。