当前位置: 首页 > 知识库问答 >
问题:

从Maven存储库下载jar文件

常坚
2023-03-14

有没有办法使用java或任何其他语言从maven存储库下载jar文件?

在Maven项目中,当我添加依赖项时,如果本地系统上不存在jar文件,它通常会从远程存储库下载jar文件。

有没有办法做到这一点,而不用像在库中那样使用Maven,或者构造一个URL,然后获取jar?

共有3个答案

乐正镜
2023-03-14

在浏览器中导航到https://mvnrepository.com/然后你可以进入你正在寻找的库,然后点击你想要的版本。单击版本后,会出现一个表,其中有一行名为Files,其中包含指向该版本的链接。pom和。jar文件。

从URL下载文件的Java应用程序:

    import java.io.IOException;
    import java.io.InputStream;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    import java.nio.file.StandardCopyOption;
    import java.net.URL;
    import java.net.MalformedURLException;
    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
$ 

除了Java,其他一切都可以下载,即通过浏览器或命令行工具(如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
昌山
2023-03-14

通常,您会在存储库网页中直接找到与下载相关的信息,大多数情况下,这些信息也在maven网站中,maven的构建正是为了解决下载JAR的错误

段干俊茂
2023-03-14

例如,您可以轻松地从public repos下载任何jar或pom文件

https://repo1.maven.org/maven2/...
<!-- Example -->
https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-starter/2.6.7/

用Java下载文件非常简单,当你有URL时,有很多方法可以做到这一点。

 类似资料:
  • 在我的绒球中.xml我有 在我的settings.xml中,我在活动配置文件的存储库列表中配置了以下内容。 但在local.m2/repository中,我找不到任何这样的目录路径com/google/protobuf,并且我的项目中protoc生成的java文件没有编译,错误如下 java: package com.google.protobuf 不存在 版本3.6.1。我在pom.xml中使用

  • 我有两个私人JFrog存储库设置。一个存储库处理发布,另一个处理快照。下面是我如何在我的设置中定义它的。xml文件。 我的多模块maven项目中的多个内部依赖项都收到了这个错误: 从外观上看,Maven似乎并没有试图联系官方的Maven Central repo以获取这些依赖项,而是在我的私有存储库上失败了。我的印象是,如果私有存储库不包含特定工件,它将尝试联系Maven Central。 从Ma

  • 问题内容: 有没有人知道您是否可以在Maven存储库中找到源JAR? 问题答案: Maven Micro-Tip:获取源代码和Javadocs 在IDE中使用Maven时,经常会发现IDE需要解析库依赖项的源代码和Javadocs。有一个简单的方法可以实现该目标。 第一个命令将尝试下载pom文件中每个依赖项的源代码。 第二个命令将尝试下载Javadocs。 Maven受这里的图书馆打包人员的摆布。

  • 问题内容: 是否有任何东西可以将整个远程存储库(例如,从http://repo1.maven.org/maven2/)获取到我的本地存储库(至)? 问题答案: 从http://maven.apache.org/community.html: 做个好行者 内置于Maven核心体系结构中的公共存储库的概念使其必然以社区为中心。Maven用户可以做一些简单的事情来帮助保持社区的繁荣。 成为一种公共存储库

  • 我在尝试从谷歌云存储下载CSV文件时遇到了一个问题。出于某种原因,它一直以字节而不是可读文本的形式下载文件。当我在Excel中打开下载的CSV时,Excel已经足够智能,可以将其转换为可读文本。我在这里错过了什么?我检查了谷歌的文档,但找不到任何好的信息来完成它们。提前谢谢你! 这是错误:UnicodeDecodeError:“utf-8”编解码器无法解码位置15-16的字节:无效的连续字节

  • 我对maven是新手,在将pom.xml中定义的依赖项下载到本地存储库时遇到了问题。正确下载pom.xml中定义的所有其他依赖项。此外,跨多个项目的其他依赖关系也运行良好。我使用的是maven 3.5.2和aws sdk 1.11.86 导致问题的依赖项是定义为的aws红移驱动程序- Maven存储库- 我的本地回购协议有以下内容- 我已经删除了本地文件。上次更新的文件,但无法解决此问题<有什么想