Module 如何在maven多模块项目中仅运行父pom.xml
我有一个maven多模块项目。在父级,我有一些java文件。在父pom.xml中,在包阶段我做了一些事情 通常,当我在父级运行mvn包时,父pom的包阶段将被运行,所有模块也将被打包 我正在寻找一种方法,使我能够做到这些(当我运行mvn包时):Module 如何在maven多模块项目中仅运行父pom.xml,module,maven,profile,Module,Maven,Profile,我有一个maven多模块项目。在父级,我有一些java文件。在父pom.xml中,在包阶段我做了一些事情 通常,当我在父级运行mvn包时,父pom的包阶段将被运行,所有模块也将被打包 我正在寻找一种方法,使我能够做到这些(当我运行mvn包时): 允许我只运行paren pom.xml(包阶段的脚本),而不运行模块。这是第一优先事项 请允许我运行paren pom.xml和一些特定模块(如模块1、模块2,但不是模块3、模块4) 我可以使用这些问题的配置文件吗 谢谢。看看 您的问题的性质表明您的
- 允许我只运行paren pom.xml(包阶段的脚本),而不运行模块。这是第一优先事项
- 请允许我运行paren pom.xml和一些特定模块(如模块1、模块2,但不是模块3、模块4)
您的问题的性质表明您的项目结构可能不是最优的。为什么希望java代码处于顶层?在我看来,这不是一个好主意。将代码放在子项目中,让顶级项目负责保存整个项目的一般信息和配置
如果您现在在顶级项目中有一些基本库代码,您可以将其放在子项目中,并在项目之间建立依赖关系。虽然我同意您可能没有最佳的项目结构,但答案是Maven 2.2.1有一个选项--“非递归”,它满足您的第一个需求:
-N,--non-recursive Do not recurse into sub-projects
比如说:
mvn --non-recursive clean compile
我有几个多模块项目,其中站点文档位于项目根目录的/src/site/markdown中(与父pom的级别相同)。能够运行“mvn site-N”意味着我可以迭代呈现的文档,而不必构建每个子模块。