2011-01-27 63 views
1

我有maven多模块项目。在父级,我有一些java文件。而在父pom.xml中,在包阶段我会做一些事情。如何在maven多模块项目中只运行父pom.xml

通常,当我在父级别运行mvn包时,父级pom的包阶段将运行并且所有模块也将被打包。

我正在寻找一种方式,让我做这些(当我运行mvn包):

  • 让我只运行括号的pom.xml(在封装阶段脚本),而不是模块。这是第一优先。
  • 允许我运行paren pom.xml和一些特定的模块(如模块1,模块2但不是模块3,模块4)。

我可以使用配置文件的这些问题?

感谢。

回答

1

为什么你想在顶层有java代码?在我看来,这不是一个好主意。在子项目中提供代码,让顶层项目负责保存整个项目的一般信息和配置。

如果您现在在顶级项目中有一些基本库代码,则可以将它放在子项目中并设置项目之间的依赖关系。

+0

我有几个多模块项目的网站文档是在项目的根目录/ src/site/markdown(与父pom相同的级别)。能够运行'mvn site -N'意味着我可以迭代我的呈现文档,而不必构建每个子模块。 – efelton 2017-11-10 20:28:47

6

虽然我的事实,你可能不会有最佳的项目结构达成一致意见,得到的答复是,Maven的2.2.1具有满足您的第一项要求的选项“--non递归”:

-N,--non-recursive Do not recurse into sub-projects 

所以这样的事情:

mvn --non-recursive clean compile