代码之家  ›  专栏  ›  技术社区  ›  Richard Sand

maven插件配置可以从父项目聚合到子项目吗

  •  1
  • Richard Sand  · 技术社区  · 7 年前

    我有3个maven项目,父项目、中间项目和子项目:

    Parent-->Middle-->Child
    

    然后我有两个注释处理器依赖项。

    父项目将maven编译器插件定义为托管插件,并在annotationProcessorPath上配置AnnotationProcessor 1。中间项目也会这样做,并在annotationProcessorPath上配置AnnotationProcessor2。

    Parent-->Middle-->Child
       |        |        
      AP1      AP2      
    

    但我真正想要的是让孩子 父级和中间级的托管配置,并对它们进行聚合。也许只是在深夜,但我的直觉告诉我马文可以处理这个,但我错过了。

    <groupId>myproject</groupId>
    <artifactId>base</artifactId>
    <version>1.2-SNAPSHOT</version>
    <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>myproject</groupId>
                                <artifactId>annotation1</artifactId>
                                <version>1.0</version>
                            </path>
                        </annotationProcessorPaths>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    

    <parent>
        <groupId>myproject</groupId>
        <artifactId>base</artifactId>
        <version>1.2-SNAPSHOT</version>
     </parent>
     <artifactId>middle</artifactId>
     <version>1.1-SNAPSHOT</version>
     <build>
        <pluginManagement>
            <plugins>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <annotationProcessorPaths>
                            <path>
                                <groupId>myproject</groupId>
                                <artifactId>annotation2</artifactId>
                                <version>1.0</version>
                            </path>
                        </annotationProcessorPaths>
                    </configuration>
                </plugin>
            </plugins>
        </pluginManagement>
    

    有人能告诉我在不同层次(父级,中间级)向插件添加配置的技术吗?这样子级就可以同时拥有两个层次的聚合配置

    1 回复  |  直到 5 年前
        1
  •  1
  •   asch    7 年前

    具体如下:

    根项目-包含带有plugin X及其默认配置的pluginManagement部分

    就你而言 应该包含带有注释1的pluginManagement;以及 应该包含带有注释2的插件(这将添加到默认注释1中) 小孩 中间的