2013-04-15 9 views
6

エラー: [エラー] com.googlecode.flyway.core.api.FlywayException:クラスパスの場所のURLを特定できません:db/migration(ClassLoader:ClassRealm [plugin> com.googlecode.flyway:flyway-maven-plugin:2.1.1、parent:[email protected]])db/migrationでマイ・マイグレーションが見つかりません

私はクイックスタートに従ったので、まだ何も複雑ではありません。

のpom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <groupId>com.cpt.migrations</groupId> 
    <artifactId>cpt_migrations</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>jar</packaging> 

    <name>cpt_migrations</name> 
    <url>http://maven.apache.org</url> 

    <properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    </properties> 

    <dependencies> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <version>3.8.1</version> 
     <scope>test</scope> 
    </dependency> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.24</version> 
    </dependency> 
    </dependencies> 
    <build> 
     <plugins> 
      <plugin> 
       <groupId>com.googlecode.flyway</groupId> 
       <artifactId>flyway-maven-plugin</artifactId> 
       <version>2.1.1</version> 
       <configuration> 
        <user>root</user> 
        <password></password> 
        <driver>com.mysql.jdbc.Driver</driver> 
        <url>jdbc:mysql://localhost:3306/cpt</url> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project> 

そして、私のフォルダ構造は、所定PROJECT_ROOT/srcに/メイン/リソース/ DB /移動/ V1__Base_version.sqlされる:私はエラーを取得する

とき、からPROJECT_ROOT、私は実行します: mvn flyway:マイグレーション

答えて

13

リソースがコピーされることを確認するために、コンパイルを最初に呼び出すことを忘れないでください。

+2

ああ...ありがとうアクセル。 Maven Noobが失敗します。 –

+0

どういう意味ですか?もっと説明できますか? netbeans 7.4 –

+0

@Axel JeffのようなFontaine私はpom.xmlを設定しました。私はdb/migrationフォルダ内の.sqlスクリプトをリソースの下に持っています..コンパイルフライウェイの実行時:migrate私はcom.googlecode.flyway .core.api.FlywayException:スキーマ '':不正なデータベース名 ''を作成できませんでした。何が問題なのでしょうか?私のSQLファイル名はtest.sql –

0

それはコンパイルする必要があります。

mvn compile flyway:migrate 

あなたは

<plugin>..</plugin> 

<executions> 
      <execution> 
      <id>compile</id> 
      <phase>compile</phase> 
      <goals> 
       <goal>migrate</goal> 
      </goals> 
      </execution> 
      <execution> 
      <id>clean</id> 
      <phase>clean</phase> 
      <goals> 
       <goal>clean</goal> 
      </goals> 
      </execution> 
     </executions> 

を使用することができ、その後、ちょうどMVNコンパイルが移行タスク

+3

コンパイル時にマイグレーションを実行することはお勧めしません。 –

0
の実行に必要とされています

mvnを実行するターゲットディレクトリがあるディレクトリのコマンド。

1

は、私の場合、私はそれを動作させるために明示的に(春ブーツ)私のapplication.propertiesで

flyway.locations=classpath:db/migration 

を設定する必要がありました。

+0

ここで設定しますか?誰もがこれらのことの専門家であるとは思わないでください! – Willa

+0

Spring Bootのapplication.propertiesファイルの@Willa。私は答えを更新する – ianaz

関連する問題