Maven 插件什么时候使用当前目录中的 POM?
When does a Maven plugin uses the POM in the current directory?
我使用版本 Maven 插件来检查我的依赖项的更新。因此,我将以下行添加到我的 pom.xml
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-plugin.version}</version>
<configuration>
<rulesUri>classpath:///rules.xml</rulesUri>
</configuration>
<dependencies>
<dependency>
<groupId>versionrules</groupId>
<artifactId>versionrules</artifactId>
<version>1-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
但是,如果我 运行 来自与 pom.xml
相同目录中的命令行的版本 Maven 插件,则不会使用此配置。使用我自己的配置的唯一方法是将此插件配置放在一个配置文件中,并在 Maven 运行.
期间执行此配置文件
有没有办法在命令行上 运行 版本插件并通过 pom.xml
配置它?我确信我的问题不仅适用于 Versions 插件,也适用于任何 Maven 插件。
这可以通过在执行定义中使用执行 ID default-cli
来完成配置将在命令行执行期间使用(使用当前配置)此外,因为 Maven 3.3.1 您可以使用像这样的东西:
mvn version:set@second-cli
这意味着您可以在 pom 文件中对命令行进行不同的配置:
只需简单地用不同的 id 将它们分开
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.5.</version>
<executions>
<execution>
<id>default-cli</id>
<configuration>
...
</configuration>
</execution>
<execution>
<id>second-cli</id>
<configuration>
....
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
所以这意味着您可以通过给定 id 在命令行上对 运行 进行不同的配置。
我使用版本 Maven 插件来检查我的依赖项的更新。因此,我将以下行添加到我的 pom.xml
:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${versions-plugin.version}</version>
<configuration>
<rulesUri>classpath:///rules.xml</rulesUri>
</configuration>
<dependencies>
<dependency>
<groupId>versionrules</groupId>
<artifactId>versionrules</artifactId>
<version>1-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
但是,如果我 运行 来自与 pom.xml
相同目录中的命令行的版本 Maven 插件,则不会使用此配置。使用我自己的配置的唯一方法是将此插件配置放在一个配置文件中,并在 Maven 运行.
有没有办法在命令行上 运行 版本插件并通过 pom.xml
配置它?我确信我的问题不仅适用于 Versions 插件,也适用于任何 Maven 插件。
这可以通过在执行定义中使用执行 ID default-cli
来完成配置将在命令行执行期间使用(使用当前配置)此外,因为 Maven 3.3.1 您可以使用像这样的东西:
mvn version:set@second-cli
这意味着您可以在 pom 文件中对命令行进行不同的配置:
只需简单地用不同的 id 将它们分开
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>2.5.</version>
<executions>
<execution>
<id>default-cli</id>
<configuration>
...
</configuration>
</execution>
<execution>
<id>second-cli</id>
<configuration>
....
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
所以这意味着您可以通过给定 id 在命令行上对 运行 进行不同的配置。