首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >链接Maven Flyway命令

链接Maven Flyway命令
EN

Stack Overflow用户
提问于 2011-04-20 23:38:51
回答 4查看 3.7K关注 0票数 2

如何使用Maven将Flyway命令链接到单个命令中?

例如,我想先运行mvn initialize flyway:clean,然后运行mvn initialize compile flyway:migrate。但是,mvn initialize flyway:clean compile flyway:migrate会失败。

谢谢!

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-11 21:04:09

我刚查过

代码语言:javascript
复制
mvn initialize flyway:clean compile flyway:migrate

对于Maven 2.2.1和Maven 3.0.3,它每次都能正常工作。

你能再检查一下这个吗?如果你认为你真的发现了一个问题,请在Issue Tracker中提交一个问题,并提供必要的步骤来重现它,我将尽我所能尽快解决它。

票数 6
EN

Stack Overflow用户

发布于 2012-01-20 00:33:02

这将使您能够链接maven步骤,只需在其中添加您想要的目标

代码语言:javascript
复制
<profile>
        <id>clean-migrate</id>
        <build>
            <plugins>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>process-resources1</id>
                            <goals>
                                <goal>resources</goal>
                            </goals>
                            <!-- Populate the database before querydsl-sql runs -->
                            <phase>generate-sources</phase>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.6</source>
                        <target>1.6</target>
                    </configuration>
                </plugin>
                <plugin>
                    <groupId>com.googlecode.flyway</groupId>
                    <artifactId>flyway-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>process-resources2</id>
                            <goals>
                                <goal>clean</goal>
                                <goal>migrate</goal>
                            </goals>
                            <phase>generate-sources</phase>
                        </execution>
                    </executions>
                    <version>1.4.2</version>
                    <configuration>
                        <driver>oracle.jdbc.driver.OracleDriver</driver>
                        <url>jdbc:oracle:thin:@${database-hostname}:${database-port}:${database-sid}</url>
                        <user>${database-username}</user>
                        <password>${database-password}</password>
                        <schemas>${database-schema}</schemas>
                        <table>schema_history</table>
                        <initialVersion>0.1.00</initialVersion>
                        <initialDescription>Base Migration</initialDescription>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    </profile>

您的settings.xml中还需要以下内容

代码语言:javascript
复制
<profile>
  <id>inject-flyway-properties</id>
    <properties>
      <database-hostname>${env.DB_HOSTNAME}</database-hostname>
      <database-port>${env.DB_PORT}</database-port>
      <database-username>${env.DB_USER}</database-username>
      <database-password>${env.DB_PASSWORD}</database-password>
      <database-sid>${env.DB_DEFAULT_SID}</database-sid>
      <database-schema>${env.DB_SCHEMA}</database-schema>
    </properties>
</profile>
票数 3
EN

Stack Overflow用户

发布于 2011-04-20 23:52:49

如果我对文档的理解是正确的,那么您必须配置maven-flyway插件来完成工作,并将其绑定到maven的正确阶段,而不是使用默认的maven调用,如mvn clean包或mvn clean verify。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5732992

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档