如何为 Maven 插件指定默认目标?

Gil*_*ili 7 mojo maven

我定义了一个具有多个目标的 Maven 插件。目前用户运行我的插件如下:

<plugin>
    <groupId>myGroupId</groupId>
    <artifactId>myArtifactId</artifactId>
    <version>someVersion</version>
    <executions>
        <execution>
            <goals>
                <goal>myGoal</goal>
            </goals>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

但我见过其他插件,比如maven-compiler-pluginFlyway,不需要指定executionhttps : //flywaydb.org/getstarted/java

<plugin>
    <groupId>org.flywaydb</groupId>
    <artifactId>flyway-maven-plugin</artifactId>
    <version>5.2.4</version>
    <configuration>
        <url>jdbc:h2:file:./target/foobar</url>
        <user>sa</user>
        <locations>
            <location>classpath:db/migration</location>
        </locations>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

当用户排除<executions>块时,如何指定默认运行的目标?

JF *_*ier 5

AFAIK,Maven 插件没有默认目标。

您可以配置插件而不添加目标。但这不会执行插件。

该插件必须在命令行上显式执行(如flyway:migrate),或者在生命周期中自动执行(如compile:compilejar:jar)。