首页 > 解决方案 > 在 Maven 中发布 SQL 工件

问题描述

我如何告诉 Maven 也为 DBA 发布 SQL 工件?

事情是这样的:当我们发布 Maven 应用程序的每个新版本时,我们需要发布两个工件:

SQL 更改文件当前为src/main/database/dba.sql,但如有必要,我可以更改该目录或文件名。

到目前为止,Maven 自动将战争工件 ( mvn clean deploy) 发布到工件存储库,这非常完美。但是,我希望它在同一命令中同时发布 SQL 文件……但它没有。

我怎样才能做到这一点?

我看到我们可以告诉 Maven 立即发布额外的工件(例如源代码、javadoc),所以我想也应该可以发布 SQL 文件,但这只是一个猜测。

标签: sqlmaven-3publishingartifact

解决方案


您可以为此使用 Build Helper 插件。

但是文件名是根据 artifactid、版本、类型和分类器计算出来的。

如果您需要使用不同的 artifactId 绝对推送不同的名称,您将需要mvn deploy:deploy-file ...(通过 CI 中的命令或 pom 中的 ant 脚本)或创建一个额外的 pom 文件并针对它启动 maven。

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>3.0.0</version>
        <executions>
          <execution>
            <id>attach-artifacts</id>
            <phase>package</phase>
            <goals>
              <goal>attach-artifact</goal>
            </goals>
            <configuration>
              <artifacts>
                <artifact>
                  <file>src/main/database/dba.sql</file>
                  <type>sql</type>
                  <!-- <classifier>xxx</classifier> -->
                </artifact>
              </artifacts>
            </configuration>
          </execution>
        </executions>
      </plugin>

源链接: https: //www.mojohaus.org/build-helper-maven-plugin/usage.html


推荐阅读