Hi, I am trying to use Flyway in my Karaf instance.
I have prepared a demo to reproduce the error that I have encountered at https://github.com/cooshal/karaf-flyway. I am using a custom built karaf distribution. I have created two different modules inside db-migrations: 1. flyway provider which has implementations to carry out flyway migrations 2. karaf command, which invokes the implementation of flyway provider bundle. I tried following: karaf@root()> dbf:migrate Error executing command: java.lang.NoClassDefFoundError: Could not initialize class org.flywaydb.core.Flyway karaf@root()> log:tail 22:37:11.081 ERROR [Karaf local console user karaf] Exception caught while executing command java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class org.flywaydb.core.Flyway at java.util.concurrent.FutureTask.report(FutureTask.java:122) ~[?:?] at java.util.concurrent.FutureTask.get(FutureTask.java:192) ~[?:?] at org.apache.felix.gogo.runtime.CommandSessionImpl$JobImpl.run(CommandSessionImpl.java:829) ~[?:?] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[?:?] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) ~[?:?] at java.lang.Thread.run(Thread.java:745) [?:?] Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.flywaydb.core.Flyway at com.example.db.migrations.FlywayDBMigrations.migrate(FlywayDBMigrations.java:16) ~[?:?] at com.example.flyway.command.MigrateDatabaseCommand.execute(MigrateDatabaseCommand.java:20) ~[?:?] at org.apache.karaf.shell.impl.action.command.ActionCommand.execute(ActionCommand.java:84) ~[?:?] at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:68) ~[?:?] at org.apache.karaf.shell.impl.console.osgi.secured.SecuredCommand.execute(SecuredCommand.java:86) ~[?:?] at org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:571) ~[?:?] at org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:497) ~[?:?] at org.apache.felix.gogo.runtime.Closure.execute(Closure.java:386) ~[?:?] at org.apache.felix.gogo.runtime.Pipe.doCall(Pipe.java:417) ~[?:?] at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:229) ~[?:?] at org.apache.felix.gogo.runtime.Pipe.call(Pipe.java:59) ~[?:?] ... 4 more I am getting this error from https://github.com/cooshal/karaf-flyway/tree/master/db-migrations/flyway-provider I also tried installing flyway-core bundle in Karaf, but it did not work. I got the same error. Do I need to configure some settings in the pom file of this project? ( https://github.com/cooshal/karaf-flyway/blob/master/db-migrations/flyway-provider/pom.xml ) Any feedback would be very helpful. Regards, Cooshal.
