maven系列--3-Maven从远程仓库下载jar包以及添加远程仓库的方法

用maven来构建项目,依赖jar包不用放到lib下面了,直接在pom文件声明即可。但是pom文件声明引用的jar包,默认是从maven中央仓库下载的。如果引用了不存在中央仓库的jar包,就会报错:依赖找不到。这时候就得为这个jar包添加远程仓库,告诉maven,这个jar包不是从你的中央仓库获取的,是从我指定的远程仓库获取的。
1、例子:
a、pom文件引用了一个不存在中央仓库的jar包,它存放在Java.net资源库中
org.jvnet.localizer 只适用于  Java.net资源库
在pom.xml下有如下声明:
<dependency>       
    <groupId>org.jvnet.localizer</groupId>        
    <artifactId>localizer</artifactId>       
    <version>1.8</version>
</dependency>
当你建立这个 Maven 项目,它将报错:依赖找不到,并输出错误信息。

b、正确的声明方式
a段声明保留,只需要在pom文件下加入如下配置,即配置远程仓库,就能正确找到jar包
在本地资源库没有找到org.jvnet.localizer,在中央资源库也没找到,需要声明远程仓库,到远程仓库去查找依赖
<repositories>
    <repository>    
        <id>java.net</id>    
        <url>https://maven.java.net/content/repositories/public/</url>
    </repository>    
</repositories>

2、Maven的依赖库查询顺序为:
  1. 在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。
  2. 在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。
  3. 在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出。

3、总结
默认情况下,Maven从Maven中央仓库( http://search.maven.org/ 下载所有依赖关系。但是,有些库丢失了,在Maven中央仓库找不到,只有在Java.net或JBoss的储存库远程仓库中才能找到,这时候就要添加远程仓库:
repositories标签下可以放多个repository,repository下需要指定id和url的值:
<project ...>
    <repositories>    
        <repository>      
            <id>java.net</id>      
            <url>https://maven.java.net/content/repositories/public/</url>    
        </repository> 
    </repositories>
</project>

<project ...>    
    <repositories>      
        <repository>
            <id>JBoss repository</id>
            <url>http://repository.jboss.org/nexus/content/groups/public/</url>      
        </repository>    
    </repositories>
</project>


### 手动从远程 Maven 仓库下载 JAR 文件并安装到本地 Maven 仓库 在某些情况下,例如网络受限或使用私有库时,需要手动从远程 Maven 仓库下载 JAR 文件,并将其安装到本地 Maven 仓库中。以下是详细的操作步骤: #### 下载 JAR 文件 1. 访问 [Maven 中央仓库](https://mvnrepository.com/) 或其他支持的远程仓库。 2. 在搜索框中输入所需的库名称,并按回车键进行搜索。 3. 在搜索结果列表中选择正确的库,并点击其名称进入详情页面。 4. 在“Files”部分找到所需版本的 JAR 文件,并点击下载链接将文件保存到本地计算机上。 #### 安装 JAR 文件到本地 Maven 仓库 1. 打开终端(Linux/macOS)或命令行工具(Windows)。 2. 使用以下命令将 JAR 文件安装到本地 Maven 仓库: ```bash mvn install:install-file -Dfile=<JAR文件路径> -DgroupId=<库的Group ID> -DartifactId=<库的Artifact ID> -Dversion=<库的版本> -Dpackaging=jar ``` 其中: - `<JAR文件路径>` 是下载JAR 文件的完整路径。 - `<库的Group ID>`、`<库的Artifact ID>` 和 `<库的版本>` 应与目标库的元数据一致[^1]。 #### 验证安装 1. 检查本地 Maven 仓库目录是否已正确创建对应的文件夹结构和文件。 通常,本地仓库位于用户主目录下的 `.m2/repository` 目录中,具体路径格式为: ``` ~/.m2/repository/<Group ID>/<Artifact ID>/<版本>/<JAR文件名> ``` 例如: ``` ~/.m2/repository/com/example/my-library/1.0.0/my-library-1.0.0.jar ``` 2. 确保 `pom.xml` 文件中正确引用了新安装的依赖项。例如: ```xml <dependency> <groupId>com.example</groupId> <artifactId>my-library</artifactId> <version>1.0.0</version> </dependency> ``` #### 注意事项 - 如果遇到签名验证问题,可以添加 `-DcreateChecksum=true` 参数生成校验文件。 - 对于含源码或文档的附加,可以通过额外参数指定安装,如 `-Dsources=path/to/sources.jar` 和 `-Djavadoc=path/to/javadoc.jar`。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值