使用配置文件来控制哪些Maven的模块搭建(Using profiles to control wh

2019-07-03 20:11发布

我在我的Maven的pom.xml以下XML:

<profiles>
  <profile>
     <id>default</id>
     <activation>
        <activeByDefault>true</activeByDefault>
        <property>
           <name>default</name>
           <value>!disabled</value>
        </property>
     </activation>
     <modules>
        <module>m1</module>
        <module>m2</module>
        <module>m3</module>
     </modules>
  </profile>
  <profile>
     <id>x</id>
     <modules>
        <module>m1</module>
     </modules>
  </profile>
</profiles>

我试图实现这一目标是:

  1. 当我运行mvn install ,我想它来构建M1,M2和M3的项目。

  2. 当我运行mvn install -Px ,我希望它只是建立M1。

我的当前的问题是,与上面的代码中,选择2构建所有M1,M2和M3。

Answer 1:

找到了解决办法,大家好,首先定义“X”型和“默认”,它工作正常(疯狂的Maven !!)。 下面是最终的结果:

   <profiles>
      <!-- DO NOT CHANGE THE *ORDER* IN WHICH THESE PROFILES ARE DEFINED! -->
      <profile>
         <id>x</id>
         <modules>
            <module>m1</module>
         </modules>
      </profile>
      <profile>
         <id>default</id>
         <activation>
            <activeByDefault>true</activeByDefault>
         </activation>
         <modules>
            <module>m1</module>
            <module>m2</module>
            <module>m3</module>
         </modules>
      </profile>
   </profiles>


Answer 2:

您可以禁用那些行家型材runByDefault从像这样的命令行设置为true:

mvn install -P !default

请注意,这需要Maven的版本2.0.10。



Answer 3:

只是-P的sintax的命令后添加一个空格

mvn install -P x

而不是像你正在使用

mvn install -Px

看看Maven的-介绍概况



文章来源: Using profiles to control which Maven modules are built