diff --git a/dbmigrate/src/main/java/se/fortnox/reactivewizard/dbmigrate/LiquibaseMigrate.java b/dbmigrate/src/main/java/se/fortnox/reactivewizard/dbmigrate/LiquibaseMigrate.java index ce3cb03f..5c31a170 100644 --- a/dbmigrate/src/main/java/se/fortnox/reactivewizard/dbmigrate/LiquibaseMigrate.java +++ b/dbmigrate/src/main/java/se/fortnox/reactivewizard/dbmigrate/LiquibaseMigrate.java @@ -15,12 +15,12 @@ import liquibase.ext.TimeoutLockService; import liquibase.lockservice.LockServiceFactory; import liquibase.resource.ClassLoaderResourceAccessor; -import liquibase.resource.InputStreamList; +import liquibase.resource.Resource; +import liquibase.resource.URIResource; import se.fortnox.reactivewizard.db.DbDriver; import javax.inject.Inject; import java.io.IOException; -import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; import java.net.URL; @@ -56,9 +56,7 @@ public LiquibaseMigrate(LiquibaseConfig liquibaseConfig) throws LiquibaseExcepti while (resources.hasMoreElements()) { URL url = resources.nextElement(); String file = url.toExternalForm(); - int jarFileSep = file.lastIndexOf('!'); - String loggedFileName = file.substring(jarFileSep + 1); - Liquibase liquibase = new Liquibase(loggedFileName, new UrlAwareClassLoaderResourceAccessor(file), conn); + Liquibase liquibase = new Liquibase(file, new UrlAwareClassLoaderResourceAccessor(file), conn); liquibase.getDatabase().setDefaultSchemaName(liquibaseConfig.getSchema()); liquibaseList.add(liquibase); @@ -152,7 +150,7 @@ void exit() { System.exit(0); } - class UrlAwareClassLoaderResourceAccessor extends ClassLoaderResourceAccessor { + static class UrlAwareClassLoaderResourceAccessor extends ClassLoaderResourceAccessor { private final String realFileName; public UrlAwareClassLoaderResourceAccessor(String realFileName) { @@ -160,26 +158,22 @@ public UrlAwareClassLoaderResourceAccessor(String realFileName) { } @Override - public InputStreamList openStreams(String relativeTo, String path) throws IOException { + public Resource get(String path) throws IOException { if (realFileName.endsWith(path)) { path = realFileName; } if (path.startsWith("file:") || path.startsWith("jar:file:")) { URL url = new URL(path); - InputStream resourceAsStream = url.openStream(); - InputStreamList inputStreamList = new InputStreamList(); URI uri; try { uri = url.toURI(); } catch (URISyntaxException e) { throw new RuntimeException(e); } - inputStreamList.add(uri, resourceAsStream); - - return inputStreamList; + return new URIResource(path, uri); } - return super.openStreams(relativeTo, path); + return super.get(path); } } } diff --git a/pom.xml b/pom.xml index 669c443e..07594e96 100644 --- a/pom.xml +++ b/pom.xml @@ -105,7 +105,7 @@ 3.2.0 3.3.0 10.4 - 4.16.1 + 4.17.2 4.1.0 1 4.2.12