Maven 版本中无效字符的Flyway异常

Maven 版本中无效字符的Flyway异常,maven,flyway,Maven,Flyway,我试图将Flyway与我的简单maven项目结合起来,以达到学习的目的 我正在使用以下插件和配置: <plugin> <groupId>org.flywaydb</groupId> <artifactId>flyway-maven-plugin</artifactId> <version>4.0.3<

我试图将Flyway与我的简单maven项目结合起来,以达到学习的目的

我正在使用以下插件和配置:

            <plugin>
                <groupId>org.flywaydb</groupId>
                <artifactId>flyway-maven-plugin</artifactId>
                <version>4.0.3</version>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.9</version>
                    </dependency>
                </dependencies>
                <configuration>
                    <url>jdbc:mysql://${database.host}:${database.port}/${database.schema}?useUnicode=true&amp;characterEncoding=UTF-8&amp;characterSetResults=UTF-8</url>
                    <user>${database.user}</user>
                    <password>${database.password}</password>
                    <sqlMigrationPrefix>V_</sqlMigrationPrefix>
                    <sqlMigrationSeparator>__</sqlMigrationSeparator>
                    <locations>
                        <location>filesystem:src/main/resources/db/migrations</location>
                    </locations>
                </configuration>
            </plugin>
我不确定我做错了什么,但我一直得到以下例外:

org.flywaydb.core.api.FlywayException: Invalid version containing non-numeric characters. Only 0..9 and . are allowed. Invalid version: V.1
我确实提到了以下问题,正如您在配置中所看到的,我已经完成了所要求的内容:

您可以简单地尝试仅将
V
定义为迁移前缀,并将迁移文件命名为
V1\u创建\u新建\u Table.sql
(这些是Flyway默认设置)

您将
V\u
定义为前缀,将
V\u 1\u\u创建新的\u Table.sql
定义为文件名的方式是造成问题的原因,因为这会告诉Flyway此迁移的版本是
V.1
,这当然是不正确的

对于数量较少的版本,您可以这样做:
V1\u\u创建新的\u Table.sql
,例如,它将为您提供
1.1
的迁移版本


在您提供的相关SO答案中,建议的答案是使用
V\u
作为前缀和
\u
作为分隔符,而您已经在插件配置中定义了
\u
作为插件分隔符。

您只需尝试定义
V
作为迁移前缀,并命名您的迁移文件
V1\uuuu Create\u New\u Table.sql
(这些是Flyway默认设置)

您将
V\u
定义为前缀,将
V\u 1\u\u创建新的\u Table.sql
定义为文件名的方式是造成问题的原因,因为这会告诉Flyway此迁移的版本是
V.1
,这当然是不正确的

对于数量较少的版本,您可以这样做:
V1\u\u创建新的\u Table.sql
,例如,它将为您提供
1.1
的迁移版本


在您提供的相关SO答案中,建议的答案是使用
V_
作为前缀和
作为分隔符,而您已经在插件配置中定义了
\u
作为插件分隔符。

@NLabrahmi我现在看到了这个问题。非常感谢。@NLabrahmi我现在明白了。谢谢。
org.flywaydb.core.api.FlywayException: Invalid version containing non-numeric characters. Only 0..9 and . are allowed. Invalid version: V.1