在多模块maven项目中,如果没有为每个子模块定义插件,如何防止错误?

时间:2012-05-14 15:38:44

标签: maven maven-plugin

我有一个多模块maven项目,我需要启动它     mvn clean install liferay:liferay

由于某些子模块里面没有liferay插件,我有这个错误:     [ERROR]在当前项目和插件组[org.apache.maven.plugins,org.codehaus.mojo]中找不到前缀'liferay'的插件,可从存储库[local(C:\ Users \ xxxxxxx.m2)获得\ repository),central(http://repo.maven.apache.org/maven2)] - > [帮助1]

我怎样才能让Maven调用liferay:liferay仅限于支持它的模块? 感谢

2 个答案:

答案 0 :(得分:2)

您不应该从多模块构建的根目录调用生命周期。 您可以像这样从root用户调用它。

mvn -pl ModuleWhichContainsConfigForLifeRay liferay:liferay

但是,如果你之前安装了mvn,这只能正常工作。

答案 1 :(得分:0)

您可以在Liferay模块的pom中创建profile,如下所示:

 <profiles>
      <profile>
        <id>liferay-modules</id>
        <modules>
            <module>MyPortlet</module>
                <module>MyHook</module>
        </modules>
      </profile>
  </profiles>

仅为此模块运行liferay插件,启动:

   #/> mvn clean package liferay:deploy -P liferay-modules