首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多模块项目中的Maven目标

多模块项目中的Maven目标
EN

Stack Overflow用户
提问于 2011-10-25 18:17:20
回答 1查看 260关注 0票数 1

我有一个包含几个子项目的多模块项目,其中一个使用了maven android插件:

代码语言:javascript
复制
                  +-------------+ 
                  | Aggregator  |
                  |    Module   |
                  +-------------+ 

+-------------+   +-------------+   +-------------+ 
|  Module 1   |   |  Module 2   |   |  Module 3   |
|  (android)  |   |             |   |             |
+-------------+   +-------------+   +-------------+ 

我经常从模块1运行以下命令:

代码语言:javascript
复制
module-1 $ mvn clean install android:redeploy

这很好用,因为模块1在它的pom中声明了android插件。

对我来说,运行相同的命令会很方便,例如。mvn clean install android:redeploy,并且让maven知道它应该在所有子模块中运行“清理”和“安装”,并且只在支持它的模块中运行"android:redeploy“,即模块1。

相反,当我试图从聚合器模块运行该命令时,我得到了一个错误,说“错误解析插件的版本”,这是有意义的,因为它还没有在聚合器中声明,实际上在聚合器中声明是没有意义的。

在这种情况下,有没有一种聪明的方法可以将我的模块配置为“做正确的事情”,这样我就不必在两个单独的目录中运行maven?

EN

回答 1

Stack Overflow用户

发布于 2011-10-25 20:26:48

将插件的pluginManagement子句添加到父项目中。

当您将一个<plugin/>元素放入<pluginManagement/>中时,这意味着它会在需要时提供该插件的配置,但不会指示maven运行它。

您在该配置中放置了一个<skip>${skip-android}</skip> (假设此插件支持标准模式。

在聚合器中将skip-android属性设置为true。

然后配置各个项目,在这些项目中,将skip-android属性设置为false是有意义的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7887781

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档