我们正计划重组一个包含许多模块/部分的复杂项目,无论你想怎么称呼它。为了向标准目录结构迈进,我们想采用 maven 文件结构。
所以最大的问题是:任何人都可以提供 maven 文件结构的描述,我们不必深入研究所有的 maven 语言吗?
我们正计划重组一个包含许多模块/部分的复杂项目,无论你想怎么称呼它。为了向标准目录结构迈进,我们想采用 maven 文件结构。
所以最大的问题是:任何人都可以提供 maven 文件结构的描述,我们不必深入研究所有的 maven 语言吗?
请参阅 http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html
src/main/java Application/Library sources
src/main/resources Application/Library resources
src/main/filters Resource filter files
src/main/assembly Assembly descriptors
src/main/config Configuration files
src/main/webapp Web application sources
src/test/java Test sources
src/test/resources Test resources
src/test/filters Test resource filter files
src/site Site
LICENSE.txt Project's license
README.txt Project's readme
顺便说一句,我们对现有项目进行了迁移。让一切按预期工作是一项非常漫长而艰巨的任务,但我们终于完成了并对此感到满意。
更新
当您有许多项目时,每个项目都有相同的结构。
现在真正的问题开始于您想要对它们进行分组时。我们很难阅读 Maven 文档和最佳实践,并决定什么是适合我们的结构。
基本思想是将相关项目分组在一个公共目录(我们称为模块)中,允许将模块作为一个整体进行处理而不列出它们。但是,如果您在 IDE(在我们的例子中为 Eclipse)中打开模块,项目本身属于它,但不会作为子项目打开(Eclipse 中不存在这个概念)。
我们最终得到了一个严格的层次结构,这让我们摆脱了许多 maven 问题:
在 Maven 2.2.1 和现在的 Maven 3.0-alpha-6 的许多项目中,我一直在使用与 Jens 相同的方法:POM 模块定义了项目树的模块结构,JAR/WAR 模块是那个树。所有模块都具有相同的版本。
优点:
缺点: