0

.sqlファイルでディレクトリへの正しいパスを指定できません。「baseDir」属性をさまざまな場所(もちろんクラスパス内)のさまざまなディレクトリに設定し、さまざまなクラスパスを設定しようとしました。ビルドスクリプトは常に「<strong>SQL移行のパスが見つかりません:[uri todirectorywith。SQLファイル]」。

同様の質問で述べたように、問題156のようには見えません。もちろん、SqlMigrationResolver.javaのコードを削除した場合は

if (StringUtils.hasText(baseDir) && !new ClassPathResource(baseDir + "/",
    classLoader).exists()) {
  LOG.warn("Unable to find path for sql migrations: " + baseDir);
  return migrations;
}

コメント#9で言われたように私はまだキャッチします

deployDB:
[flyway:migrate] com.googlecode.flyway.core.exception.FlywayException: Error loading sql migration files
[flyway:migrate] Caused by java.io.FileNotFoundException: class path resource [db/migration/] cannot be resolved to URL because it does not exist

BUILD FAILED
c:\DeployTest\build.xml:208: Flyway Error: com.googlecode.flyway.core.exception.FlywayException: Error loading sql migration files

フライウェイは

resources = new PathMatchingResourcePatternResolver(classLoader)
        .getResources("classpath:" + searchRoot + searchPattern);

getResourcesメソッドを実行できません。

バグのようには見えません。SQLスクリプトを使用してディレクトリに正しいURIを設定できないようです=(

どうか、このくそーウリを設定するのを手伝ってください!

私のbuild.xml:

<target name="init-flyway">
  <taskdef uri="antlib:com.googlecode.flyway.ant"
           resource="com/googlecode/flyway/ant/antlib.xml"
  />
  <property name="flyway.driver" value="${dbDriver}"/>
  <property name="flyway.url" value="${dbUrl}"/>
  <property name="flyway.user" value="${dbScheme}"/>
  <property name="flyway.password" value="${dbPass}"/>
  <property name="flyway.baseDir" value="\db\migration"/>
  <property name="flyway.classpath" value="c:\DeployTest"/>
</target>

<target name="deployDB" depends="init-flyway">
  <flyway:migrate/>
</target>
4

2 に答える 2

2

flyway.classpathpropertyからpathに変更してみてください。

あなたの場合、これはこれを変更することを意味します:

<property name="flyway.classpath" value="c:\DeployTest"/>

これに:

<path id="flyway.classpath">
    <fileset dir="c:\DeployTest"/>
</path>
于 2012-02-23T20:17:46.383 に答える
2

これの代わりに:

<path id="flyway.classpath"> 
    <fileset dir="c:\DeployTest"/> 
</path>

使用する:

<path id="flyway.classpath">  
      <pathelement location="c:\DeployTest"/>
</path>  
于 2012-03-28T00:57:51.113 に答える