Reputation: 145
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?
Upvotes: 5
Views: 14521
Reputation: 9533
Let's say you want to download:
<dependency>
<groupId>org.eclipse.jetty.ee10.websocket</groupId>
<artifactId>jetty-ee10-websocket-jakarta-server</artifactId>
<version>12.0.7</version>
</dependency>
If you have mvn downloaded (you can even leave it in your downloads folder...) the run:
mvn dependency:copy -Dartifact=org.eclipse.jetty.ee10.websocket:jetty-ee10-websocket-jakarta-server:12.0.7 -DoutputDirectory=test/
It will download what you want.
Upvotes: 0
Reputation: 1455
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
Upvotes: 5
Reputation: 91
Usually you will find the information related to the downloads directly in the repository web page, most of the time that information is in maven website too, maven was built precisely to tackle errors with downloaded jars though
Upvotes: 0
Reputation: 144
You can easily download any jar or pom files from public repos, for example
https://repo1.maven.org/maven2/...
<!-- Example -->
https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-starter/2.6.7/
Downloading file in Java is pretty straightforward, there numerous ways to do so when you have URL.
Upvotes: 1