2013-06-24 1 views
2

Clojure에서 데이터베이스 이동을 수행하기 위해 이동 경로를 사용하고 있습니다. 문제 내 응용 프로그램을 배포 할 때 uberjar를 만들 때 Flyway가 jar 파일 내에있는 마이그레이션을 찾을 수 없습니다. 응용 프로그램을 패키지하지 않고도 개발에서 제대로 작동합니다. 나는 다른 조합을 병에 마이그레이션 sql 파일을 추가하려고했습니다. 나는 병을 압축 해제했고 모든 마이그레이션이 거기에 있습니다. 무엇이 문제인지 확실하지 않습니다.Clojure Uberjar에서 이동 경로 마이그레이션을 찾을 수 없습니다.

Exception in thread "main" com.googlecode.flyway.core.api.FlywayException: Unable to determine URL for classpath location: db/migration 

나는 flyway 버전 2.1.1을 사용하고 있으며 현재 마이 그 레이션은 src/db/migration에 있습니다. project.clj 파일에서 리소스 경로에 src /를 추가하려고 시도했지만 여전히 찾지 못했습니다. 어떤 아이디어?

답변

1

leiningen에서 버전 2.3.2까지 생성 된 jar/uberjars에 디렉토리 항목이 포함되어 있지 않으므로 ClassLoader#getResources("db/migration/")은 항상 null을 반환합니다.

제한 보증 기간 2.3.3 (문제 #1303)에서 수정 예정입니다.

0

überjar 때문에 클래스 매개 변수 스캐너에 대한 명시 적 지원이 없기 때문에 실패 할 경우 나는 놀라지 않을 것입니다.

문제 추적기에 개선 요청을 제출하십시오.