我们目前有一个基于蚂蚁的项目,正在考虑转向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的好处而不是让生活变得更难! :)
另一个重要的事情是我希望能够创建爆炸的耳朵文件...我有哪些选项可以自定义这个方面?如果我选择定制的“任务”,我会放弃什么(我不确定这个术语是什么意思)
答案 0 :(得分:2)
说实话,我不打算把它移植到maven上 - 尽管我是一个完全的maven粉丝,但我说这个。将构建时具有任何复杂性的完整项目转换为maven通常不值得您经历的麻烦。
对于新项目或者可能重写此应用程序(如果它曾经发生过),我完全建议从maven开始。
我意识到你可以让maven做 无论你想要什么 - 但如果我们 做一个应该是的开关 maven的好处不是为了生活 更难! :)
你可以“弯曲maven”来做任何你想做的事情,但通常你会在自己的脚下射击自己。 maven的观点是它是按惯例构建的,而不是按配置构建的。你做的事情超出了maven生命周期范围以外的事情,你在构建的维护和可靠性方面要求的麻烦越多。
答案 1 :(得分:1)
我不是100%确定我理解你当前的项目结构,但如果你不能改变任何东西,它看起来像是主要的显示停止问题。有了Maven:
与上述相比,不遵循Maven默认布局是一个小问题。
如果没有关于可以改变什么的更多细节(不破坏结构),我根本不认为它是以一种优雅的方式行事(如果可行的话)。