如果你不希望子项目使用父项目提供的编译插件的配置,你可以通过在子项目的pom.xml文件中显式地覆盖或重写父项目的配置来实现。
以下是一个示例,展示了如何在子项目中覆盖父项目的maven-compiler-plugin插件的配置:
父项目的pom.xml:
<project><!-- ...其他配置... --><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build><!-- ...其他配置... -->
</project>
子项目的pom.xml:
<project><!-- ...其他配置... --><build><plugins><!-- 重写父项目的maven-compiler-plugin插件的配置 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.8.1</version><configuration><!-- 使用子项目的source和target设置 --><source>1.11</source><target>1.11</target></configuration></plugin></plugins></build><!-- ...其他配置... -->
</project>
子项目显式地定义了maven-compiler-plugin插件的配置,包括source和target属性。由于子项目指定了这些属性,它将使用自己的配置,而不是父项目的配置。
请注意,如果你在子项目中指定了与父项目中相同的插件版本,Maven将使用子项目的配置。如果你指定了不同的插件版本,Maven将引发一个冲突,需要你手动解决。