maven - 使用配置文件来控制构建哪些 Maven 模块

标签 maven profiles

我的 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>

我想要实现的是:
  • 当我运行 mvn install ,我希望它能够构建 m1、m2 和 m3 项目。
  • 当我运行 mvn install -Px , 我要 仅限 build m1。

  • 我目前的问题是,使用上面的代码,选项 2 构建了所有 m1、m2 和 m3。

    最佳答案

    找到解决方案的人,首先定义“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>
    

    关于maven - 使用配置文件来控制构建哪些 Maven 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13381179/

    相关文章:

    java - 从 com.google.gwt 对 pom.xml 的依赖中排除 javax.servlet 包

    android - 使用publishToMavenLocal创建远程Maven存储库的本地副本

    Java 9 迁移 javax.annotation

    python - Django - 如何以最佳方式编写用户和配置文件处理?

    Maven:根据配置文件选择父项目

    maven - Gradle:获取依赖项的实际快照文件名

    android - 将源代码从一个 Maven 项目复制到另一个

    ios - Ad Hoc iOS 分发配置文件变得无效

    asp.net - 将用户配置文件数据存储在用户表或单独的配置文件表中?

    maven - Maven,不同配置文件的xml文件