-1

假设您有 2 个(或更多)Java Web 项目(Java 6、maven)需要作为 1 个 Web 应用程序(目前是 Servlet 2.5 和 Tomcat 6)发布?

如何开发这两个项目,然后它们可以更容易地结合起来?哪些框架和工具可以很好地协同工作?

4

4 回答 4

1

如果您在部署之前被迫捆绑不同的 Web 项目,我个人会考虑仅创建一个由 Git 或 SVN 管理的存储库。这个单一存储库将您的所有项目存储为一个存档,而不是单个项目。

这样,每个开发人员都可以使用他的项目,在这种情况下,这只是一个包。开发完成后,您可以简单地从此存储库中发布 WAR 文件,而无需担心如何集成不同的项目。

但我确信所描述的解决方案也有缺点,但这将是我对你的问题的第一个想法。

于 2013-01-10T07:54:14.180 回答
1

一种方法是将两个 Web 应用程序打包为一个 EAR,可以部署到一个完整的 EE 服务器。为此,您可以创建一个单独的 Maven 项目来进行组装。

话虽如此,tomcat 并不是一个完整的 EE 服务器。您只能部署 WAR。因此,您可能需要查看一些战争覆盖技术,但我发现这些技术难以使用和维护。

于 2013-01-10T07:56:55.970 回答
1

基本上你可以使用maven-assembly-plugin,它支持组装战争发行版:目前它可以创建以下格式的发行版:

  • 压缩
  • 柏油
  • 压缩包
  • tar.bz2
  • 目录
  • 战争
  • 以及已为 ArchiveManager 配置的任何其他格式

另一种方法是maven-war-plugin,这将打包和组装 webapp,但这需要添加两个 webapps 的依赖项。

于 2013-01-10T08:59:14.497 回答
0

Maven 战争插件可以做覆盖例子。这有利于包含 Web 资源,但不适用于 web.xml

还有cargo-maven2-plugin,它还可以合并 web.xml 内容。

于 2013-01-10T10:44:11.447 回答