2010-08-26 79 views
2

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

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

多个这样的模块加上一些罐子依赖关系被添加并且创建一个EAR文件。 +定制清单文件

像这样

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

这种结构和依赖性,不能更改─它来自于我们所使用的框架。

我对maven了解不多,知道这是多少工作 - 或者如果我们的项目结构和开发实践远离maven惯例,那么它不值得花时间。

我意识到你可以弯曲maven来做你想做的任何事情 - 但是如果我们做了一个开关,它应该是maven的好处不要让生活更难! :)

另一个重要的是,我想能够创建耳朵文件爆炸......我有什么选择来定制该方面?如果我去定制一个“任务”(我不确定这个maven术语是什么),我会放弃什么?

回答

2

说实话,我不会为将它移植到maven而烦心 - 尽管我是一个总的魔术迷,但我仍然这样说。在构建时将具有任何复杂性的完整项目转换为maven通常不值得遇到麻烦。

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

我知道你可以弯曲行家做任何你希望它 - 但 如果我们 做它应该是一个开关行家的 好处没有让生活 更难! :)

你可以“弯曲maven”做你想做的任何事情,但通常你是在你这样做的时候在脚下射击自己。 maven的一点是,它是按照惯例构建的,而不是通过配置。您在做超出Maven生命周期范围之外的事情时越冒险,就构建的维护和可靠性而言,您要求的麻烦越多。

1

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

  1. 嵌套模块的父模块不包含代码
  2. 一个模块只产生一个主神器(不知道这是你的项目,虽然情况)

不继的Maven与上述相比,默认布局是一个小问题。如果没有更多关于什么可以改变的细节(没有破坏结构),我不认为它是可行的(如果可以的话)。