diff --git a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DriverFileDescriptor.java b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DriverFileDescriptor.java index eb520be64072e5cb03f99108947fb7ac443ebc31..319864baad5166ff97ed14f5ef3c97669163b656 100644 --- a/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DriverFileDescriptor.java +++ b/plugins/org.jkiss.dbeaver.core/src/org/jkiss/dbeaver/registry/DriverFileDescriptor.java @@ -326,7 +326,11 @@ public class DriverFileDescriptor implements DBPDriverFile public void downloadLibraryFile(DBRProgressMonitor monitor, boolean updateVersion) throws IOException, InterruptedException { if (isMavenArtifact()) { - downloadMavenArtifact(monitor, updateVersion); + MavenArtifact artifact = downloadMavenArtifact(monitor, updateVersion); + if (artifact.getRepository().isLocal()) { + // No need to download local artifacts + return; + } } String externalURL = getExternalURL(); if (externalURL == null) { @@ -386,7 +390,7 @@ public class DriverFileDescriptor implements DBPDriverFile monitor.done(); } - private void downloadMavenArtifact(DBRProgressMonitor monitor, boolean updateVersion) throws IOException { + private MavenArtifact downloadMavenArtifact(DBRProgressMonitor monitor, boolean updateVersion) throws IOException { MavenArtifactReference artifactInfo = new MavenArtifactReference(path); if (updateVersion) { MavenRegistry.getInstance().resetArtifactInfo(artifactInfo); @@ -401,10 +405,11 @@ public class DriverFileDescriptor implements DBPDriverFile MavenLocalVersion localVersion = artifact.getActiveLocalVersion(); if (localVersion != null && localVersion.getCacheFile().exists()) { // Already cached - return; + return artifact; } } artifact.resolveVersion(monitor, artifactInfo.getVersion()); + return artifact; } @Override