2013-04-15 30 views
6

Lỗi: [ERROR] com.googlecode.flyway.core.api.FlywayException: Không thể xác định URL cho vị trí classpath: db/migration (ClassLoader: ClassRealm [plugin> com.googlecode.flyway: flyway-maven-plugin: 2.1.1, cha mẹ: [email protected]])Đường bay không tìm thấy di chuyển sql của tôi trong db/migration

Tôi đã theo dõi nhanh hơn, vì vậy tôi chưa thực sự làm gì phức tạp.

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> 

Và cấu trúc thư mục của tôi là PROJECT_ROOT quy định/src/main/nguồn/db/di chuyển/V1__Base_version.sql:

tôi nhận được báo lỗi khi, từ PROJECT_ROOT, tôi thực hiện: đường bay mvn: di chuyển

Trả lời

13

Đừng quên gọi biên dịch trước, để đảm bảo tài nguyên được sao chép.

+2

Ahhh ... Cảm ơn Axel. maven noob thất bại. –

+0

ý của bạn là gì? bạn có thể giải thích tốt hơn không? Tôi đã sử dụng netbeans 7.4 –

+0

@Axel Fontaine như Jeff Tôi đã định cấu hình tệp pom.xml của mình và tôi có các tập lệnh .sql trong thư mục db/migration dưới tài nguyên .. khi thực thi đường biên dịch: di chuyển tôi nhận được com.googlecode.flyway .core.api.FlywayException: Không thể tạo giản đồ '': Tên cơ sở dữ liệu không chính xác '' điều gì có thể là vấn đề? tên tệp sql của tôi là test.sql –

0

Nó phải được biên soạn:

mvn compile flyway:migrate 

Bạn có thể sử dụng

<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> 

trong

<plugin>..</plugin> 

và sau đó biên dịch chỉ mvn là cần thiết để thực hiện nhiệm vụ di cư

+3

Tôi không nghĩ rằng việc thực hiện di chuyển trên biên dịch là một ý tưởng hay. –

0

Thi hành mvn lệnh từ thư mục nơi thư mục đích được đặt.

1

Trong trường hợp của tôi, tôi đã phải explicitely thiết

flyway.locations=classpath:db/migration 

trong application.properties của tôi (Spring Boot) cho nó để làm việc.

+0

Đặt ở đâu? Đừng cho rằng mọi người đều là một chuyên gia trong những điều này! – Willa

+0

@Willa trong tệp application.properties của Spring Boot. Tôi cập nhật câu trả lời – ianaz

Các vấn đề liên quan