The following call (I replaced sensitive information with <>):
flyway
-url=jdbc:oracle:thin:@//<server_name>:<port_number>/<service_name>
-jarDirs=<jar_directory_paths>
-locations=filesystem:<path>
-user=<user> -password=<password> info
Produce the following error:
Flyway output: Flyway 4.2.0 by Boxfuse
Exception in thread "main" java.lang.NoClassDefFoundError: oracle/dms/console/DMSConsole at oracle.jdbc.driver.DMSFactory.(DMSFactory.java:44) at oracle.jdbc.driver.PhysicalConnection.createDMSSensors(PhysicalConnection.java:4202) at oracle.jdbc.driver.PhysicalConnection.(PhysicalConnection.java:628) at oracle.jdbc.driver.T4CConnection.(T4CConnection.java:217) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:28) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:537) at org.flywaydb.core.internal.util.jdbc.DriverDataSource.getConnectionFromDriver(DriverDataSource.java:416) at org.flywaydb.core.internal.util.jdbc.DriverDataSource.getConnection(DriverDataSource.java:381) at org.flywaydb.core.internal.util.jdbc.JdbcUtils.openConnection(JdbcUtils.java:51) at org.flywaydb.core.Flyway.execute(Flyway.java:1418) at org.flywaydb.core.Flyway.info(Flyway.java:1097) at org.flywaydb.commandline.Main.executeOperation(Main.java:152) at org.flywaydb.commandline.Main.main(Main.java:103) Caused by: java.lang.ClassNotFoundException: oracle.dms.console.DMSConsole at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 13 more
Any ideas what could be the cause?
The missing class in the exception message is in the v8 Oracle JDBC driver and subsequent ones. You should be able to resolve the problem by upgrading your installation to the latest version of the driver.