【问题标题】:Do Maven Multi-Module and EAR play well together?Maven Multi-Module 和 EAR 一起玩得好吗?
【发布时间】:2010-06-22 19:07:54
【问题描述】:

今天,我一直在研究 Maven Multi-Module 和 EAR 项目,它们看起来非常相似,因为它们似乎都定义了其他项目集合的集合 - 似乎 EAR 项目应该只是一个替代项目为多模块项目打包。

我是不是误会了什么?还是这些类型的项目一起工作?


按照帕斯卡的回答: 更新以澄清问题,如果不容易理解,希望会有所帮助;抱歉,可能措辞不太好,耳朵的东西对我来说有点新......

假设我有两个项目,一个产生战争,另一个产生实用程序 jar。战争取决于jar,我需要将它们打包到耳朵中进行部署。我应该使用 pom 包装类型的项目吗?我想我必须在某处使用带有耳朵包装类型的项目来制作最终的工件,所以我最好只使用带有耳朵包装的项目,还是同时使用 pom 和耳朵的项目?如果两者都有,怎么办?

【问题讨论】:

  • 我问了一个类似的问题 (stackoverflow.com/questions/2821077/…)。关键是,您是否应该使用依赖于它打包的项目的打包项目或多模块项目并不总是很清楚。例如,打包源代码需要多模块,但是没有(简单的)方法可以为您的依赖项打包源代码。 EAR 项目应该遵循第二种方法 - 不是多模块,而是构建中的最后一个项目,具体取决于它打包的项目。

标签: maven-2 ear multi-module


【解决方案1】:

EAR 项目作为一个更大的聚合项目的一部分工作得很好。在那些你不想让 EAR 成为一个单独的项目的情况下;您始终可以通过程序集创建文件。

这种方法在某些情况下是有意义的。通常,您必须创建多个版本的 EAR,或者当您想要创建部署大型 EAR 文件但无需保留创建后的工件时。

我使用这种方法来处理要求所有可部署为 EAR 文件的公司标准,即使应用程序是单个 WAR 文件也是如此。程序集可以使用其单个 WAR 文件和部署描述符来创建 EAR。

【讨论】:

    【解决方案2】:

    我是不是误会了什么?还是这些类型的项目一起工作?

    我不确定我是否理解了这个问题,但我很想回答他们一起工作:

    • 聚合模块允许聚合模块,并且它们必须具有 pom 包装(并且只有 pom 模块可以具有嵌套项目)。
    • EAR 模块只是带有ear 包装的模块(并且具有特定的bindings),并且可以是多模块项目的一部分。

    两者都有不同的目的。但他们一起工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 2015-08-28
      • 2013-07-19
      • 1970-01-01
      相关资源
      最近更新 更多