Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Flyway can';使用Ant时,在类路径上找不到Spring Java迁移_Java_Ant_Classpath_Flyway - Fatal编程技术网

Flyway can';使用Ant时,在类路径上找不到Spring Java迁移

Flyway can';使用Ant时,在类路径上找不到Spring Java迁移,java,ant,classpath,flyway,Java,Ant,Classpath,Flyway,我在我的项目中设置了具有以下目录布局的Flyway(不包括不相关的目录): $tree数据库 数据库 ├── 解放党 │ ├── flyway-ant-2.0.1.jar │ ├── flyway-core-2.0.1.jar │ ├── migrate.jar │ ├── spring-beans-3.1.2.RELEASE.jar │ ├── spring-core-3.1.2.RELEASE.jar │ ├── spring-dao-2.0.8.jar │ └─

我在我的项目中设置了具有以下目录布局的Flyway(不包括不相关的目录):

$tree数据库
数据库
├── 解放党
│   ├── flyway-ant-2.0.1.jar
│   ├── flyway-core-2.0.1.jar
│   ├── migrate.jar
│   ├── spring-beans-3.1.2.RELEASE.jar
│   ├── spring-core-3.1.2.RELEASE.jar
│   ├── spring-dao-2.0.8.jar
│   └── spring-jdbc-3.1.2.RELEASE.jar
└── 更新
├── JAVA
│   └── 数据库
│       └── 迁移
│           └── V1_0__创建_posts.java
└── sql
└── V1_1__创建_用户.sql
以及build.xml的相关部分(flyway.url和flyway.driver设置在此处未包含的属性文件中——flyway与数据库对话没有问题):


以下是在编译目标中创建的迁移JAR的布局:

$unzip-l database/lib/migrate.jar
存档:database/lib/migrate.jar
长度日期时间名称
--------    ----   ----    ----
01-14-13 16:27 META-INF/
103 01-14-13 16:27 META-INF/MANIFEST.MF
0 01-14-13 16:21数据库/
0 01-14-13 16:27数据库/迁移/
0 01-14-13 16:27 sql/
538 01-14-13 16:27数据库/migrate/V1\u 0\u创建\u posts.class
0 01-14-13 16:27 sql/V1\u 1\u create\u users.sql
--------                   -------
6417个文件
下面是
flyway:info
的输出:

[飞行路线:信息]+-------------+------------------------+---------------------+---------+
[飞行路线:信息]|版本|说明|安装在|状态|
[飞行路线:信息]+-------------+------------------------+---------------------+---------+
[飞行路线:信息]| 0 |>| 2013-01-14 14:14:09 |失踪|
[flyway:info]| 1.1 |创建用户| |挂起|
[飞行路线:信息]+-------------+------------------------+---------------------+---------+
Flyway未发现.class文件。我做错了什么

编辑:如果有人知道使用Ant(没有Maven,没有常春藤)设置的Flyway的工作示例,将不胜感激


更新 原来Flyway会找到
JdbcMigration
类,但不会找到
SpringJdbcMigration

此迁移已成功加载:

但这一条被跳过:

/*database/updates/java/database/migrate/V1\u 0\u创建\u posts.java*/
导入org.springframework.jdbc.core.jdbc模板;
导入com.googlecode.flyway.core.api.migration.spring.SpringJdbcMigration;
公共类V1_0__创建_帖子实现SpringJdbcMigration{
public void migrate(JdbcTemplate模板)引发异常{
template.execute(
创建表帖子(id整数主键,title varchar(255),正文)
);
}
}
以下是使用
SpringJdbcMigration
时的Ant调试输出:

[antlib:com.googlecode.flyway.ant]无法从资源com/googlecode/flyway/ant/antlib.xml加载定义。找不到。[4/873]
[飞行路线:信息]数据库:H2 1.2
[flyway:info]支持的DDL事务:false
[飞行路线:信息]模式:公共
[flyway:info]无需升级元数据表
[flyway:info]Spring Jdbc可用:false
[flyway:info]扫描“数据库/迁移”处的资源(前缀:“V”,后缀:“.sql”)
[flyway:info]扫描URL:jar:file:…/flyway-sample/database/lib/migrate.jar/数据库/迁移
[飞行路线:信息]JBoss VFS v2可用:错误
[flyway:info]筛选出资源:数据库/迁移/(文件名:)
[flyway:info]筛选出资源:数据库/migrate/V1_0_u创建_posts.class(文件名:V1_0_u创建_posts.class)
[flyway:info]扫描“数据库/迁移”中的类(实现:“com.googlecode.flyway.core.api.migration.jdbc.jdbcmigation”)
[flyway:info]扫描URL:jar:file:…/flyway-sample/database/lib/migrate.jar/数据库/迁移
[flyway:info]筛选出资源:数据库/迁移/(文件名:)
[flyway:info]扫描“db/migration”处的资源(前缀:“V”,后缀:“.sql”)
[flyway:info]无法确定类路径位置的URL:db/migration(类加载器:AntClassLoader[…/flyway sample/lib/h2-1.2.135.jar:…/flyway sample/database/lib/migrate.jar])
[flyway:info]扫描“db/migration”中的类(实现:“com.googlecode.flyway.core.api.migration.jdbc.jdbcigration”)
[flyway:info]无法确定类路径位置的URL:db/migration(类加载器:AntClassLoader[…/flyway sample/lib/h2-1.2.135.jar:…/flyway sample/database/lib/migrate.jar])
[flyway:info]正在扫描“sql”(前缀:“V”,后缀:“.sql”)处的资源
[flyway:info]扫描URL:jar:file:…/flyway-sample/database/lib/migrate.jar/sql
[flyway:info]筛选出资源:sql/(文件名:)
[flyway:info]找到的资源:sql/V1\u 1\u create\u users.sql
[flyway:info]扫描“sql”中的类(实现:“com.googlecode.flyway.core.api.migration.jdbc.jdbcmiggration”)
[flyway:info]扫描URL:jar:file:…/flyway-sample/database/lib/migrate.jar/sql
[flyway:info]筛选出资源:sql/(文件名:)
[flyway:info]筛选出资源:sql/V1\u 1\u create\u users.sql(文件名:V1\u 1\u create\u users.sql)
[飞行路线:信息]+-------------+------------------------+---------------------+---------+
[飞行路线:信息]|版本|说明|安装在|状态|
[飞行路线:信息]+-------------+------------------------+---------------------+---------+
[飞行路线:信息]| 0 |>| 2013-01-14 14:14:09 |失踪|
[飞行路线:信息]|
/* database/updates/java/database/migrate/V1_0__create_posts.java */
import com.googlecode.flyway.core.api.migration.jdbc.JdbcMigration;
import java.sql.Connection;

public class V1_0__create_posts implements JdbcMigration {
    public void migrate(Connection conn) throws Exception {
        conn.createStatement().execute(
            "create table posts (id integer primary key, title varchar(255), body text)"
        );
    }
}