• GitHub构建Maven依赖仓库


    GitHub构建Maven依赖仓库

    视频教学连接

    吐槽一句:博客氛围太差了,一篇博客到处发,而且自己还没有实践,直接带到沟里了。

    1.基础构建

    • Github新建仓库
      在这里插入图片描述+ 本地初始化git目录 初始化命令 git init
      在这里插入图片描述
    • 将远程的仓库和本地git目录建立连接 git remote add origin git@github.com:Encyclopedias/MavenRepo.git
    • 新建项目,更改maven的项目的pom文件,如下:
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
    
        <groupId>org.util.maven</groupId>
        <artifactId>maven-repo</artifactId>
        <version>1.0-SNAPSHOT</version>
    
        <properties>
            <maven.compiler.source>8</maven.compiler.source>
            <maven.compiler.target>8</maven.compiler.target>
            <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        </properties>
    </project>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 添加测试类和方法
    public class Util {
        public void helloWorld(){
            System.out.println("HelloWorld");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    2.构建本地maven依赖

    • 添加maven安装依赖的本地目录
    在上述的POM文件里面添加如下配置:
         <distributionManagement>
                <repository>
                    <id>maven-repo</id>
                    <url>file:${basedir}/repo</url>  <--该路径会在项目下生成一个repo的目录,该目录内会有jar包-->
                </repository>
        </distributionManagement>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 执行mvn clean deploy命令后该项目下会生成一个repo的目录,同时在你的本地仓库也会生成一个目录

    我的项目结构:
    在这里插入图片描述

    本地仓库生成的目录如下:
    在这里插入图片描述
    此时你可以在别的项目中添加如下依赖即可访问:

    <dependency>
       <groupId>org.util.maven</groupId>
       <artifactId>maven-repo</artifactId>
       <version>1.0-SNAPSHOT</version>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    3.构建远程maven依赖

    • 使用git提交项目到远程 由于上面我们已经将本地项目和远程做了关联,因此此处只管提交即可。
      在这里插入图片描述

    • 在需要引用的项目的POM文件中配置

     <repositories>
            <repository>
                <id>maven-repo</id>
                <url>https://raw.githubusercontent.com/Encyclopedias/MavenRepo/main/repo</url>
            </repository>
        </repositories>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 基于该项目建一个子maven项目,然后在子的maven项目中配置,然后刷新,这时候依赖才会被下载
    <dependency>
       <groupId>org.util.maven</groupId>
       <artifactId>maven-repo</artifactId>
    </dependency>
    
    • 1
    • 2
    • 3
    • 4

    遇到的问题:
    刷新后远程的依赖可以通过连接访问,但是该依赖在项目中下载不下来

    通常情况下,如果你在pom文件中添加了github的repository的话,会在maven的仓库会显示,下述是我自己添加的两个GitHub远程的maven仓库
    在这里插入图片描述
    如果项目下载不下来并且上述也没有你配置的远程的github的仓库url的话,很有可能你的settings.xml文件出现了问题。

    我的就是因为settings的文件配置出错了。
    右击项目->maven->open ‘settings.xml’

      
            
                alimaven
                central
                aliyun maven
                http://maven.aliyun.com/nexus/content/repositories/central/
            
            
                nexus-163
                *
                Nexus 163
                http://mirrors.163.com/maven/repository/maven-public/
            
        
    我当时下载依赖的时候发现使用nexus-163拼接了我的依赖包的路径的,而不是github的url,后来发现使用mirrorOf的标签的原因上述配置的是*,这就会导致都是通过所有的都需要通过nexus-163的url去仓库下载依赖,那我的是github的依赖,当然没有了啊。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
  • 相关阅读:
    FTP服务配置和使用
    ssm毕设项目学生社团管理系统k8wrg(java+VUE+Mybatis+Maven+Mysql+sprnig)
    新学期|除了认真学习的“flag”,你还立了啥?
    腾讯云轻量应用服务器和云服务器有什么区别?该如何选择?
    计算机毕业设计springboot+vue基本微信小程序的社区后勤报修系统
    十六、【橡皮擦工具组】
    第十九章,Java绘图
    Spring事务属性
    [每周一更]-(第71期):DevOps 是什么?
    Mysql 中遇到的坑
  • 原文地址:https://blog.csdn.net/sinat_36203404/article/details/126798723