Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在以下位置扫描SQL迁移:classpath:db/migration_Java_Deployment_Flyway - Fatal编程技术网

Java 无法在以下位置扫描SQL迁移:classpath:db/migration

Java 无法在以下位置扫描SQL迁移:classpath:db/migration,java,deployment,flyway,Java,Deployment,Flyway,我正在使用flyway进行SQL迁移,SQL迁移对我来说非常有效 现在我尝试使用Flyway进行简单的java迁移,下面是我使用的代码 package db.migration; import org.flywaydb.core.api.migration.jdbc.JdbcMigration; import java.sql.Connection; import java.sql.PreparedStatement; /** * Example of a Java-based migra

我正在使用flyway进行SQL迁移,SQL迁移对我来说非常有效

现在我尝试使用Flyway进行简单的java迁移,下面是我使用的代码

package db.migration;

import org.flywaydb.core.api.migration.jdbc.JdbcMigration;
import java.sql.Connection;
import java.sql.PreparedStatement;

/**
 * Example of a Java-based migration.
 */
public class V2__Test implements JdbcMigration {
public void migrate(Connection connection) throws Exception {
    PreparedStatement statement =
        connection.prepareStatement("create table test (id int)");

    try {
        statement.execute();
    } finally {
        statement.close();
    }
}
}
我用这个类文件创建了一个Jar文件,并将Jar文件放在Flyway_home/Jars文件夹下。稍后,我在配置文件中提到了db/迁移,如下所示

flyway.locations=db.migration
flyway  -configFile=conf/flyway-fte-Data.conf migrate
在此之后,我将从cmd实用程序运行migrate命令,如下所示

flyway.locations=db.migration
flyway  -configFile=conf/flyway-fte-Data.conf migrate
我得到下面的错误

ERROR: Unable to scan for SQL migrations in location: classpath:db/migration
我这里缺了什么,谁能帮我修一下吗

注意:我没有使用任何插件,它只是flyway命令行实用程序


提前谢谢

属性“flyway.locations”配置SQL迁移文件的位置,您需要运行java迁移文件。因此,我认为在配置中注释掉这个属性就足够了,因为Flyway\u home/jars文件夹是java迁移位置属性('Flyway.jarDirs')的默认值。下一种可能是将此属性('flyway.jarDirs')设置为您喜欢的jar位置。

@SandrParsick,我对“flyway.locations”的注释已经厌倦了,但它说不需要迁移,甚至不需要识别jar文件,我想“数据库:jdbc:jtds:sqlserver://localHost/test (Microsoft SQL Server 11.0)已验证1迁移(执行时间00:00.359s)架构[dbo]的当前版本:1架构[dbo]是最新的。无需迁移。“我提到的当前java文件名版本为2,基线版本为1,因此理想情况下,它应该尝试迁移未发生的文件。请调用“flyway info”检查您的java迁移脚本是否被flyway@SandraPasrick,我厌倦了“飞行路线信息”,但这只显示了我的Jar文件没有被检测到的基线版本,我是否遗漏了什么,是否有什么需要更改的地方?这里是我用flyway java迁移文件构建Jar文件的步骤,这里是我的。当你将你的设置与我的设置进行比较时可能会有所帮助。谢谢你提供的详细信息,但我不想使用任何Pulgin's,我只是在命令行中尝试正常的飞行路线。我相信Pom设置是在我们使用Maven Pulgin right.2020时使用的,问题仍然存在,我只是放弃了编写基于java的迁移。它以插件的形式运行flyway,但当我使用该图像并尝试映射到flyway/jars卷并设置位置时,它会向我发出“找不到位置”的警告。