Maven 插件内置绑定

Maven插件内置绑定指的是Maven插件自带的默认执行绑定。Maven为每个插件配置了一个默认的执行绑定(goal),在不指定绑定的情况下,Maven将会自动绑定到该默认执行绑定上。比如,Maven插件maven-compiler-plugin默认绑定到了compile执行目标上,当我们在pom.xml文件中引入maven-compiler-plugin插件时,不需要再手动指定执行绑定(goal),Maven就会自动将该插件绑定到compile目标上。

下面是一个简单的示例,使用Maven默认绑定maven-compiler-plugin插件,无需手动配置绑定(goal):

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <!-- 无需手动配置绑定(goal),使用默认的compile绑定 -->
    </plugin>
  </plugins>
</build>

在执行mvn compile命令时,Maven将会自动执行maven-compiler-plugin插件的compile目标。如果需要执行其他目标,可以手动配置插件绑定。

Maven 插件内置绑定的作用就是当我们引用一个插件,不需要做过多配置就可以使用,从而减少配置工作。

我们继续看一个例子,在使用 maven-compiler-plugin 插件时,可以直接在插件配置中指定要使用的 Java 版本,无需显式地指定编译源代码和测试源代码的目录,因为 Maven 已经为其定义了默认的绑定关系。

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

在这个例子中,maven-compiler-plugin 插件被配置在 build 元素下的 plugins 元素中。由于 Maven 为该插件预定义了默认的绑定关系,因此无需显式指定绑定关系。配置中指定了要使用的 Java 版本为 1.8,该插件会自动编译源代码和测试源代码。