1

私のチームは、JBOSS ESB パッケージのデプロイ中に Flyway を使用してデータベースを移行しようとしています。flyway を呼び出してデータベースを初期化および移行する Migration MBean を作成しました。

デプロイ中に次のエラーが発生します。

エラーのデプロイメント:
デプロイメント "vfszip:/opt/jboss-soa-p.5.2.0/jboss-as/server/default/deploy/our-package.esb/" は、次の理由によりエラーになっています: java.io.FileNotFoundException: JAR エントリ db/migration が /opt/jboss-soa-p.5.2.0/jboss-as/server/default/deploy/our-package.esb に見つかりません

環境
JBOSS 5.2.0
Flyway Core 2.0.3

ESB パッケージの構造 (our-package.esb)

|lib |db |migration |V1__Initial_structure.sql |V1_1__Populate_table.sql |jboss-service.xml |META-INF

デプロイは、主にキュー、トピック、および関連するリスナーで構成されます。複数の環境に展開する複数の ESB パッケージがあります。

アップデート
2013-02-18 12:33:11,700 ERROR [org.jboss.kernel.plugins.dependency.AbstractKernelController] (HDScanner) Start へのインストール中にエラーが発生しました: name=our.pack.age:service=DBMigrator state=Create mode=Manual requiredState =Installed com.googlecode.flyway.core.api.FlywayException: 次の場所で SQL 移行をスキャンできません: db/migration at com.googlecode.flyway.core.resolver.sql.SqlMigrationResolver.resolveMigrations(SqlMigrationResolver.java:97) com.googlecode.flyway.core.resolver.CompositeMigrationResolver.collectMigrations(CompositeMigrationResolver.java:219) com.googlecode.flyway.core.resolver.CompositeMigrationResolver.doFindAvailableMigrations(CompositeMigrationResolver.java:157) at com.googlecode.flyway.core. com.googlecode.flyway の resolver.CompositeMigrationResolver.resolveMigrations(CompositeMigrationResolver.java:127)。core.info.MigrationInfoServiceImpl.refresh(MigrationInfoServiceImpl.java:86) com.googlecode.flyway.core.info.MigrationInfoServiceImpl.(MigrationInfoServiceImpl.java:79) com.googlecode.flyway.core.Flyway$4.execute(Flyway. java:1019) で com.googlecode.flyway.core.Flyway$4.execute(Flyway.java:1012) で com.googlecode.flyway.core.Flyway.execute(Flyway.java:1259) で com.googlecode.flyway. core.Flyway.info(Flyway.java:1012) で our.pack.age.DBMigrator.migrate(DBMigrator.java:52) で our.pack.age.DBMigrator.start(DBMigrator.java:31) で sun.reflect .NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) の sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) の sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) の java.lang.reflect.Method.呼び出し (メソッド.java:597)
...もっと

のせいで: java.io.FileNotFoundException: JAR エントリ db/migration が sun.net.www の /opt/jboss-soa-p.5.2.0/jboss-as/server/default/deploy/our-package.esb に見つかりません。 protocol.jar.JarURLConnection.connect(JarURLConnection.java:122) の sun.net.www.protocol.jar.JarURLConnection.getJarFile(JarURLConnection.java:71) の com.googlecode.flyway.core.util.scanner.JarFileLocationScanner. com.googlecode.flyway.core.util.scanner.JarFileLocationScanner.findResourceNames(JarFileLocationScanner.java:34) の getJarFromUrl(JarFileLocationScanner.java:55) com.googlecode.flyway.core.util.scanner.ClassPathScanner.findResourceNames(ClassPathScanner. java:156) com.googlecode.flyway.core.util.scanner.ClassPathScanner.scanForResources(ClassPathScanner.java:58) で com.googlecode.flyway.core.resolver.sql.SqlMigrationResolver で。resolveMigrations(SqlMigrationResolver.java:86) ... 68 もっと見る

DBMigratorは、Flyway を呼び出してデータベースを移行するために使用されるカスタム MBean です。

setOutOfOrder( true ) を除いて、Flyway の既定の構成を使用しています。テスト SQL ファイルは src/main/resources/db/migration に配置されました。

4

0 に答える 0