2017-01-19 3 views
0

私はMavenのからフライウェイを使用しようとしていますし、私はフライウェイに関して次のようになりポンポンありますMavenからの飛行機:データソースを取得できません!エラー

<plugin> 
        <groupId>org.flywaydb</groupId> 
        <artifactId>flyway-maven-plugin</artifactId> 
        <version>3.1</version> 
        <inherited>false</inherited> 
        <executions> 
         <execution> 
          <phase>compile</phase> 
          <goals> 
           <goal>migrate</goal> 
          </goals> 
          <configuration> 
           <user>jrm</user> 
           <password></password> 
           <driver>com.mysql.jdbc.Driver</driver> 
           <url>jdbc:mysql://localhost/fooDB?createDatabaseIfNotExist=true</url> 
           <table>version_history</table> 
           <locations> 
            <location> 
             filesystem:../../scripts/entitlement/db/cd 
            </location> 
           </locations>  

注JRMのユーザーがパスワードを必要としませんが、私は持っているユーザーと同じ結果を得ていることをnull以外のパスワードWindowsでは、MySQLコマンドラインクライアントを使用してdbにログインできます。このメッセージの印象は、認証に何か問題があることを示していることです。フライウェイバージョン4.0.3を使用して、ユーザー、パスワード、およびURLを確認します。

これはWindows固有の問題だと思います。パス環境変数にMySQL binを追加したことに注意してください。 mysql -u rootを試してもパスワードの入力を求められないことに注意してください。mysql -u root -pを使用しないとアクセスが拒否されます。したがって、パスワードがnullのユーザが必要だったと思われる理由があります。

編集:私はMVNフライウェイを使用しています:wemuで与え

+1

目的を直接実行すると、プラグインが設定を読み取らないことがあります。あなたのpomにある設定は実行にバインドされます。 "mvn compile"を実行すると動作しますか? – wemu

+0

聖なる牛、それは働いた。作成されたテーブル!ありがとう、wemu !! – Jeff

+1

ああ、推測が良かったから:)飛行機の目標を直接実行したい場合は、のレベルでを単に動かすことができます。その後、すべての実行でその設定が使用されます。 – wemu

答えて

0

答えを移行することは、完全に正確である:それは、POMが現在書かれているように、必要があったMVNフライウェイではなく、コンパイルするために:移行します。さらに、設定を移動することについてのwemuのその後の提案は、おそらく正しい方法であるFlywayを直接呼び出すことを可能にするはずです。私はFlywayプラグインからのエラーメッセージは完全に正確であると確信しています:それは認可/ dbアクセス設定を見ませんでしたが、理由を理解するのに十分なMavenについて知りませんでした。

関連する問題