如何将一个插件目标绑定到另一个插件目标

2023-11-22

在我当前的项目中,我们使用其他插件参数所需的一些插件,例如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>

问题是,当您直接执行插件目标时,绑定在初始化阶段(或验证)的目标不会被执行。因此,要生成模式间谍,我们需要输入:

$> mvn org.codehaus.mojo:properties-maven-plugin:read-project-properties schemaspy:schemaspy

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

$> mvn schemaspy:schemaspy

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


最简单的方法是绑定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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将一个插件目标绑定到另一个插件目标 的相关文章

随机推荐

  • 带有绑定参数的 MarkupExtension

    我正在定制MarkupExtension其中我需要来自 XAML 的非字符串参数来构造新对象 是否可以在字段上使用非字符串参数绑定DataContext scope 换句话说 我怎样才能做这样的事情呢
  • What(): std::bad_alloc - 我内存不足了吗?

    我的数据集 960 个维度的 500 000 个点 文件大小为 1 9 GB 1 922 000 000 字节 该代码适用于较小的数据集 但为此它每次都会在同一点崩溃 这是一个最小的例子 include
  • 如何使用js或jquery在html中捕获屏幕截图[重复]

    这个问题在这里已经有答案了 我需要我的客户能够使用如下按钮捕获我网站任何页面的屏幕截图
  • Scikit-learn 多线程

    您知道 scikit learn 中的模型是否使用自动多线程或仅使用顺序指令吗 Thanks 不会 默认情况下 所有 scikit learn 估计器仅在单个线程上工作 但话又说回来 这一切都取决于算法和问题 如果算法需要顺序数据 我们就无
  • 使用 AFNetworking POST jpeg 上传

    我一生都无法弄清楚为什么当我使用 AFNetworking 时这不起作用 它与 ASIHTTP 一起工作 这对我来说都是很新鲜的 但我不明白为什么文件不再从 FILES 传输到服务器的硬盘 这是 iOS 代码 IBAction upload
  • Erlang 有 Sinatra 风格的 Web 框架吗?

    我用 Ruby 和 Rails 编程了很长一段时间 然后我爱上了 Sinatra 框架的简单性 它允许我构建一页 Web 应用程序 Erlang 有像 Sinatra 这样的 Web 框架吗 我尝试了 Erlyweb 但它似乎太重量级了 您
  • Swift JSON 错误,无法将类型“__NSArrayM”(0x507b58)的值转换为“NSDictionary”(0x507d74)

    我正在尝试从 url json 文件 获取数据 但在这些行上收到此错误 var jsonResult NSJSONSerialization JSONObjectWithData data options NSJSONReadingOpti
  • C 语言中在“printf”之后使用“fgets”的问题,因为“fgets”在“printf”之前运行[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 printf 在调用后不会刷新 除非格式字符串中有换行符 在C中 我使用时遇到问题printf and fgets就像我的代码中一样printf写得早于 fget 但它不运行 它运行在 fge
  • :除了不在应用程序控制器的 before_filter 中工作。路由问题?

    我的应用程序控制器中有一个 before filter 来保持用户的会话处于活动状态 如果达到超时则将其注销 这应该在除 sessions new 和 sessions destroy 之外的每个操作上调用 它们被路由为 login 和 l
  • 实体框架 - 如何从元数据获取数据库列数据类型

    有没有办法在给定表的 EntityType 的情况下获取数据库列 DataType 长度信息 您可以运行示例 SQL SQL Server 以准确查看我正在查找的信息 select sys tables name as Table Name
  • 使用端口 443 将 iOS 应用程序上传到 AppStore

    我正在尝试使用 altool 从命令行上传我们的应用程序 由于我们的防火墙阻止了某些端口 因此我想在端口 443 上使用 HTTPS 以 DAV 模式传输文件 如果我使用 ApplicationLoader GUI 手动执行此操作 我可以为
  • 一个圆可以塞进多少个正方形?

    多少个正方形的大小a a可以打包成一个半径为圆的圆R 我不需要解决方案 我只需要某种起始想法 我很抱歉写了这么长的答案 我的方法是从理论上的最大值和保证的最小值开始 当您解决问题时 您可以使用这些值来确定您使用的算法有多好 如果您能想到更好
  • Bootstrap表默认排序

    我使用引导表 第一列有默认排序 如何更改默认列并选择另一个并使用 升序 降序 您可以在表中使用 data sort name 和 data sort order 例如 table 文档在这里http bootstrap table wenz
  • 如何使用 C# 显示文件保存到受限位置的 UAC 提示?

    当用户从我的应用程序保存文件时 他们当前无法保存到受限位置 例如 C 我认为这是一个很好的限制 但我想提供一个 UAC 提示来提升权限并允许用户在受限区域中保存 我已经看到了很多围绕这个主题的答案 其中涉及使用 runas 生成具有提升权限
  • 使用 dplyr mutate 查找组中第一次出现的值

    我如何使用组中找到某个值的第一次出现dplyr 以下代码给出了所需的结果 但我想知道是否有更短的方法来做到这一点 另外 我还担心group by or mutate 或者其他一些函数可能会对行进行隐式重新排列 不知道这是否是一个问题 mtc
  • 控制应用程序的音量:通过进程 ID

    我需要控制特定应用程序产生的音频的音量级别 我找到了西蒙对类似问题的简单而简洁的答案here 但它通过 Display Name 枚举音频生成应用程序 对于某些应用程序来说 它是空的 因此不能用于检测目标应用程序 其音量要控制 因此 我正在
  • 如何在不使用本地或临时文件的情况下将存储过程输出直接写入 FTP 上的文件?

    我想要获取存储过程的结果并将它们放入 FTP 位置的 CSV 文件中 但问题是我无法创建可以通过 FTP 传输的本地 临时文件 我采用的方法是使用 SSIS 包创建临时文件 然后在包中使用 FTP 任务通过 FTP 传输文件 但我们的 DB
  • 以编程方式将 Word (docx) 转换为 PDF

    好吧 在您认为 不再有这样的问题 之前 请先阅读此内容 我有一个应用程序 ASP NET MVC 3 中的 Web 应用程序 它使用以下命令在 DocX 中生成 Word 文件DocX 库 该应用程序采用一个模板并用数据库中的所有数据填充它
  • 页面如何知道我正在用 firebug 分析它

    Look Wow 网页如何知道我正在使用 firebug 顺便说一句 我不知道如何显示半透明的添加横幅 你可以做 if window console window console firebug alert Firebug active
  • 如何将一个插件目标绑定到另一个插件目标

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