2015-01-25 4 views
1

JDBC 드라이버는 클래스 경로가 아닌 디렉토리에 있어야합니다. 나는 Flyway DB와 migrate을 목표로 Maven을 사용하여 구성을 설정하고 있습니다. jarDir 구성 섹션에서 JDBC 드라이버의 위치를 ​​제공했지만, migrate 목표를 실행해도 여전히 관련 JDBC 드라이버를 인식하지 못합니다. 나는 여전히 얻을 실행flywaydb : jdbc 드라이버를 인스턴스화 할 수 없습니다.

<plugin> 
    <groupId>org.flywaydb</groupId> 
    <artifactId>flyway-maven-plugin</artifactId> 
    <version>3.0</version> 
    <executions> 
     <execution> 
      <id>sql-enrichment-setup</id> 
      <phase>pre-integration-test</phase> 
      <goals> 
       <goal>migrate</goal> 
      </goals> 
      <configuration> 
       <url>jdbc:postgresql://localhost/enrichment?charSet=utf8</url> 
       <user>enrichment</user> 
       <password>enrichment</password> 
       <schemas> 
        <schema>public</schema> 
       </schemas> 
       <table>schema_history</table> 
       <initVersion>1.0</initVersion> 
       <initDescription>Base Migration</initDescription> 
       <jarDir>/Users/abc/jars</jarDir> 
       <skip>${skipITs}</skip> 
       <locations> 
        <location> 
         filesystem:${basedir}/integration-test-helpers/sql/enrichment/migrations 
        </location> 
       </locations> 
      </configuration> 
     </execution> 
    </executions> 
</plugin> 

하지만, :

는 목표 org.flywaydb을 실행하지 못했습니다 : 이동 경로 - 받는다는 - 플러그인 : 3.0 : 프로젝트 esa-에 (SQL-농축-설정) 마이그레이션 core : org.flywaydb.core.api.FlywayException : jdbc 드라이버를 인스턴스화 할 수 없습니다. org.postgresql.Driver

이 문제를 어떻게 해결할 수 있습니까?

답변

0

jarDir은 Maven 플러그인의 구성 매개 변수가 아닙니다. 명령 줄 도구에서만 사용할 수 있습니다.

경우에 따라 JDBC 드라이버를 플러그인에 대한 종속성으로 추가해야합니다. 이렇게하면 응용 프로그램의 클래스 경로에 표시되지 않습니다.

관련 문제