gpt4 book ai didi

maven-2 - 如何将插件目标绑定(bind)到另一个插件目标

转载 作者:行者123 更新时间:2023-12-04 08:18:58 25 4
gpt4 key购买 nike

在我当前的项目中,我们使用了其他插件参数所需的一些插件,例如 properties-maven-plugin 或 buildnumber-plugin。

<?xml version="1.0"?>
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>mygroup</groupId>
<artifactId>myartifact</artifactId>
<packaging>pom</packaging>
<version>v0</version>
<name>myProject</name>

<properties>
<env>dev</env>
</properties>

<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<configuration>
<files>
<file>${basedir}/configurations/${env}.properties</file>
</files>
</configuration>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>read-project-properties</goal>
</goals>
</execution>
</executions>
</plugin>

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.0-beta-3</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
</plugin>

<plugin>
<groupId>com.wakaleo.schemaspy</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0</version>
<configuration>
<databaseType>mysql</databaseType>
<database>${database.schema}</database>
<host>${database.host}</host>
<user>${database.user}</user>
<password>${database.pwd}</password>
</configuration>
</plugin>
</plugins>
</build>
</project>

问题是当您直接执行插件目标时,绑定(bind)在初始化阶段(或验证)的目标不会执行。所以要生成模式 spy ,我们需要输入:
$> mvn org.codehaus.mojo:properties-maven-plugin:read-project-properties schemaspy:schemaspy

我们想告诉每个 maven 命令都需要执行 properties 插件和 buildNumber 插件,这样我们就可以输入:
$> mvn schemaspy:schemaspy

有没有一种干净的方法来做到这一点(没有脚本)?

最佳答案

最简单的方法是绑定(bind) schemaspy生命周期阶段的目标(特别是因为您已经为其他两个插件完成了此操作),因此您可以简单地运行 之类的东西mvn包并在适当的阶段执行所有三个插件。

如果您希望 schmespy 插件仅在某些情况下执行,请将其放在配置文件中,然后运行 ​​ mvn 包 -P schemaspy 激活它。实现这一点的配置如下所示:

<profiles>
<profile>
<id>schemaspy</id>
<plugin>
<groupId>com.wakaleo.schemaspy</groupId>
<artifactId>maven-schemaspy-plugin</artifactId>
<version>1.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>schemaspy</goal>
</goals>
</execution>
</executions>
<configuration>
<databaseType>mysql</databaseType>
<database>${database.schema}</database>
<host>${database.host}</host>
<user>${database.user}</user>
<password>${database.pwd}</password>
</configuration>
</plugin>
</profile>
</profile>

关于maven-2 - 如何将插件目标绑定(bind)到另一个插件目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1393691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com