Is there any way to download a jar file from a maven repository using java, or any other language?
In a Maven project, when I add a dependency it usually downloads the jar files from a remote repository if it does not exist on the local system.
Is there any way to do that, without using Maven, like in a library, or construct a URL and then fetch the jar?
A Java application to download a file from an URL:
import java.io.*; import java.net.*; import java.nio.file.*;
public class Download {
public static void main(String[] args) throws MalformedURLException, IOException{
String url = args[0];
String fileName = url.substring(url.lastIndexOf('/') + 1, url.length());
try(InputStream in = new URL(args[0]).openStream()) {
Files.copy(in, Paths.get(fileName), StandardCopyOption.REPLACE_EXISTING);
}
}
}
$ java Download.java https://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.36.0.3/sqlite-jdbc-3.36.0.3.jar
$ ls sqlite-jdbc-3.36.0.3.jar
sqlite-jdbc-3.36.0.3.jar
$
Other than Java everything else works as fine for the download, i.e. download via your browser or via a command line tool like curl
:
$ curl https://repo1.maven.org/maven2/org/json/json/20220320/json-20220320.jar --output json-20220320.jar
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 70939 100 70939 0 0 339k 0 --:--:-- --:--:-- --:--:-- 348k