我使用brew安装了flyway,我正在尝试为postgres运行迁移,我收到此错误:
Boxfuse的Flyway 4.2.0
错误:无法加载/usr/local/Cellar/flyway/4.2.0/libexec/drivers/postgresql-9.4.1208.jre6.jar
我检查了这条路径,目录和文件存在 .
有什么建议 ?
这是使用版本5.x解决的Flyway 4.x的已知问题(1545)
解决方案:安装版本5.x - 我向Homebrew提交了pull request以更新公式
根本原因是 ClassCastException - 与Java 9更改(issue 3)相关 .
ClassCastException
使用 -X 标志运行以查看显示真正的问题:
-X
$ flyway info -X Flyway 4.2.0 by Boxfuse DEBUG: Java 9.0.1 (Oracle Corporation) DEBUG: Mac OS X 10.13.1 x86_64 DEBUG: Loading config file: /usr/local/Cellar/flyway/4.2.0/libexec/conf/flyway.conf DEBUG: Unable to load config file: /Users/sdc/flyway.conf DEBUG: Loading config file: /Users/sdc/code/flytest/flyway.conf DEBUG: Using configuration: DEBUG: flyway.jarDirs -> /usr/local/Cellar/flyway/4.2.0/libexec/jars DEBUG: flyway.driver -> com.mysql.jdbc.Driver DEBUG: flyway.locations -> filesystem:/usr/local/Cellar/flyway/4.2.0/libexec/sql DEBUG: flyway.url -> jdbc:mysql://localhost:3306/eddydb DEBUG: flyway.user -> root DEBUG: flyway.password -> ********* DEBUG: Adding location to classpath: /usr/local/Cellar/flyway/4.2.0/libexec/drivers/postgresql-9.4.1208.jre6.jar ERROR: Unexpected error org.flywaydb.core.api.FlywayException: Unable to load /usr/local/Cellar/flyway/4.2.0/libexec/drivers/postgresql-9.4.1208.jre6.jar at org.flywaydb.core.internal.util.ClassUtils.addJarOrDirectoryToClasspath(ClassUtils.java:156) at org.flywaydb.commandline.Main.loadJdbcDrivers(Main.java:305) at org.flywaydb.commandline.Main.main(Main.java:95) Caused by: java.lang.ClassCastException: java.base/jdk.internal.loader.ClassLoaders$AppClassLoader cannot be cast to java.base/java.net.URLClassLoader at org.flywaydb.core.internal.util.ClassUtils.addJarOrDirectoryToClasspath(ClassUtils.java:151) ... 2 more
1 回答
这是使用版本5.x解决的Flyway 4.x的已知问题(1545)
解决方案:安装版本5.x - 我向Homebrew提交了pull request以更新公式
根本原因是
ClassCastException
- 与Java 9更改(issue 3)相关 .使用
-X
标志运行以查看显示真正的问题: