java - 如何从外部项目的pom执行maven liquibase pom?

标签 java maven liquibase

我的 Maven 项目依赖于通过 liquibase 通过另一个外部项目创建的数据库架构。 为了测试我的项目,我需要在我的机器上生成这个数据库结构。 有没有办法在我的项目的 pom 本身中指定 liquibase 项目详细信息(组 ID、 Artifact 、版本等以及必需的 liquibase 参数),以便在执行任何测试之前生成数据库结构。

P.S.:我知道如果该项目确实存在于我的机器中,我可以使用如下所示的内容:

<plugins>
    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>exec-maven-plugin</artifactId>
        <version>1.1</version>
        <executions>
            <execution>
                <id>create-unitttest-db-schema</id>
                <phase>process-test-resources</phase>
                <goals>
                    <goal>exec</goal>
                </goals>
                <configuration>
                    <skip>${skipSchemaCreation}</skip>
                    <executable>mvn</executable>
                    <arguments>
                        <argument>-f</argument>
                        <argument>../proj-liquibase-db/pom.xml</argument>
                        <argument>-P${proj.test.liquibase.create.profile},create</argument>
                        <argument>clean</argument>
                        <argument>install</argument>
                        <argument>-DdefaultSchemaName=${proj.test.schema.unittest}</argument>
                    </arguments>
                </configuration>
            </execution>
        </executions>
    </plugin>
</plugins>

我想在此处指定 proj-liquibase-db 的项目坐标,而不是其 pom 文件的路径。

P.P.S:如果不可能,请告诉我并建议一些替代方案,因为我真的被困在这里了。

最佳答案

您可以使用依赖插件将包含 liquibase xml 文件的项目生成的 Artifact 解压到“目标”目录的子文件夹中。 目标应该是依赖:解包。 然后,您只需在测试类中配置 liquibase 即可加载这些文件。

亲切的问候

关于java - 如何从外部项目的pom执行maven liquibase pom?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59329879/

相关文章:

java - 具有 2 个外键的 Hibernate 映射

java - 覆盖 Maven 检查样式中的一条规则

java - Maven: fatal error 编译:无效的目标版本:1.8

mysql - Liquibase:MySQL 存储过程中的 SQL 语法错误

mysql - Spring Boot + Liquibase:通信链接失败

liquibase - 如何为loadData文件中的每一行生成主键值

java - 当基类的构造函数需要参数时,我被迫在子类中调用 super 构造函数,否则不需要?

java - 如何在java中搜索文件名并附加到邮件

java - 在 IntelliJ IDEA 中添加来自 Maven 的库依赖项的 Javadoc

Java EE 动态 Web 应用程序开发