Maven 3 如何在多模块项目中跳过pom的构建

Maven 3 如何在多模块项目中跳过pom的构建,maven-3,Maven 3,我正试图优化我的构建过程(在开发中),以构建整个maven多模块项目树。有些POM实际上是源/库的聚合,很少(通常)是不变的。所以具体的子问题是 如果pom:project/build/sourceDirectory属性中指定的源没有更改,是否可以将maven配置为不构建pom 或者可以(至少)有条件地禁用maven bundle插件吗这花了大部分时间 谷歌找不到任何与Q#1相关的信息。典型的解决方案不适用于#2-当我尝试为maven bundle插件指定“执行”时(如下所示) 感谢您的帮助。我

我正试图优化我的构建过程(在开发中),以构建整个maven多模块项目树。有些POM实际上是源/库的聚合,很少(通常)是不变的。所以具体的子问题是

  • 如果pom:project/build/sourceDirectory属性中指定的源没有更改,是否可以将maven配置为不构建pom

  • 或者可以(至少)有条件地禁用maven bundle插件吗这花了大部分时间

  • 谷歌找不到任何与Q#1相关的信息。典型的解决方案不适用于#2-当我尝试为maven bundle插件指定“执行”时(如下所示)

    感谢您的帮助。我知道以下几点:
    * (maven bundle插件无法与'executions'标记一起使用)
    *(maven bundle插件没有跳过确认选项)
    *(同上)

    *如果将整个maven bundle插件移动到概要文件中,maven将无法识别packaging=bundle。

    maven通常不会跟踪源代码/更改,因此它始终是完整构建。但是,要禁用任何插件,您可以将其移入,然后启用/禁用整个配置文件,例如,有条件地或从命令行启用/禁用

    mvn -am 
    

    mvn -pl ...
    
    因此,进行如下构建:

    mvn -am -pl SubModule clean package
    

    将生成,并且由于依赖于变更模块而需要生成。

    最后,我必须承认(C)Eugene Kuleshov-“Maven通常不跟踪源/变更,因此它始终是完整的生成。”

    <>但是,在5 + ON .NET和C++上5年的Erier-Error之后返回java,看起来像这样的一个共同的特性,比如增量构建,并不是由10年以上的广泛使用的工具支持的。因此,我不能把时间花在等待重建我的多模块项目中每个未更改的模块上,而是决定定制Maven 3.0.4:)


    请随意点击这里,尝试报告问题。

    我建议切换到Gradle。
    Gradle具有这种开箱即用的支持(无需配置),从Maven转换应该很容易。

    不幸的是,特定的解决方案不适用于Maven bundle插件-当它移动到profile时,Maven开始说packaging=bundle未知。“pl”是“构建指定的反应堆项目,而不是所有项目”-这意味着我必须事先知道更改了哪些项目,并在命令行中明确列出它们。这绝对不是一个适用的情况。
    mvn -pl ...
    
    mvn -am -pl SubModule clean package