pom.xml中的属性标签中的maven编译器与插件标签中的maven编译器之间的区别

问题描述 投票:0回答:1

我试图在pom.xml中将项目源和目标设置为Java 1.8,并发现可以同时使用两种方法:

  1. 在属性标签中设置:

    <maven.compiler.target>1.8</maven.compiler.target>
    <maven.compiler.source>1.8</maven.compiler.source>
    
  2. 在插件中配置:

    <build>
    <pluginManagement>
        <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>
    
    </pluginManagement>
    

给出一个选择,我宁愿选择#1,因为它更短,但是两者之间到底有什么区别?

maven pom.xml maven-plugin
1个回答
0
投票
等价。实际上,maven-compiler-plugin的标签使用属性,而使用属性属性:https://maven.apache.org/plugins/maven-compiler-plugin/compile-mojo.html

因此,如果您只想设置这两个属性,则可以愉快地使用属性,但是插件更加灵活,因为它还有许多其他可以设置的配置(我在野外见过:fork,annotationProcessors ,editorArgs和其他标签)

© www.soinside.com 2019 - 2024. All rights reserved.