会不会适合这种情况?

时间:2010-08-26 20:28:10

标签: maven-2 ear exploded

我们目前有一个基于蚂蚁的项目,正在考虑转向maven。 该项目基于java ee,但它有一个模块结构,其中每个模块可以包含多个java ee项目。像这样:

mod1-->subdir-->war-A
             -->war-B
mod1->src
mod1->build/classes

添加了多个此类模块以及一些jar依赖项,并创建了一个EAR文件。 +自定义清单文件

喜欢这样

EAR -->war-A
    -->war-B
    -->war-C
    -->war-D
    lib/allclasses-from-allmodules-in-one jar

这种结构和依赖关系无法改变 - 它来自我们使用的框架。

我不太了解maven知道这是多少工作 - 或者我们的项目结构和开发实践是否远离maven惯例而不值得花时间。

我意识到你可以弯曲maven去做你想做的任何事情 - 但是如果我们做一个转换它应该是为了maven的好处而不是让生活变得更难! :)

另一个重要的事情是我希望能够创建爆炸的耳朵文件...我有哪些选项可以自定义这个方面?如果我选择定制的“任务”,我会放弃什么(我不确定这个术语是什么意思)

2 个答案:

答案 0 :(得分:2)

说实话,我不打算把它移植到maven上 - 尽管我是一个完全的maven粉丝,但我说这个。将构建时具有任何复杂性的完整项目转换为maven通常不值得您经历的麻烦。

对于新项目或者可能重写此应用程序(如果它曾经发生过),我完全建议从maven开始。

  

我意识到你可以让maven做   无论你想要什么 - 但如果我们   做一个应该是的开关   maven的好处不是为了生活   更难! :)

你可以“弯曲maven”来做任何你想做的事情,但通常你会在自己的脚下射击自己。 maven的观点是它是按惯例构建的,而不是按配置构建的。你做的事情超出了maven生命周期范围以外的事情,你在构建的维护和可靠性方面要求的麻烦越多。

答案 1 :(得分:1)

我不是100%确定我理解你当前的项目结构,但如果你不能改变任何东西,它看起来像是主要的显示停止问题。有了Maven:

  1. 嵌套模块的父模块不包含代码
  2. 一个模块只生成一个主要工件(不确定是否属于您的项目)
  3. 与上述相比,不遵循Maven默认布局是一个小问题。

    如果没有关于可以改变什么的更多细节(不破坏结构),我根本不认为它是以一种优雅的方式行事(如果可行的话)。