idea创建springboot项目,maven 远程仓库,一部分包显示红色,jar包导入不进来

问题描述

创建springboot项目,maven 远程仓库,一部分包显示红色,导入不进来,真得很崩溃,有的包能导进来,有的包导不进来。查看dependency依赖,只有 jdk的包存在。


先了解一下 Maven 仓库
仓库分类:

中央仓库: 由Maven团队维护的全球唯一的仓库
地址: https://repo1.maven.org/maven2/

本地仓库: 自己计算机上的一个目录(推荐)
在这里插入图片描述

远程仓库(私服): 一般由公司团队搭建的私有仓库。我们只学习远程仓库的使用,不搭建。
在这里插入图片描述

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包:
如果有,则在项目直接引用;如果没有,则去中央仓库中下载对应的jar包到本地仓库。

解决方案:

方案一:

按照网友说法,在自动生成的本地maven仓库 ( C:\Users\Administrator.m2 |maven的默认路径在用户目录的.m2文件夹里面,当maven本地依赖比较多的时候,会造成C盘文件较大,需要修改maven的本地仓库的路径) 下创建 settings.xml文件,添加 阿里云镜像 还是不行

方案二:

安装本地maven仓库,然后修改 idea配置,clean一下就可以顺利导入jar包了。

Maven配置与安装:

1.下载Maven

官方下载地址: 官网:https://maven.apache.org/ 下载完毕,直接进行解压。

根据需求选择下载,win下载zip,linux下载tar,下面两个是源码
在这里插入图片描述
解压,创建 maven 文件夹,然后将解压文件放进去
在这里插入图片描述

  • bin:保存Maven的可执行命令,mvn和mvn.bat就是执行Maven工具的命令。
  • boot:该目录只包含一个plexus-classworlds-2.5.2.jar,plexus-classworlds-2.5.2.jar是一个类加载框架。
  • conf:保存Maven配置文件的目录,该目录包含setting.xml文件,该文件用于设置Maven的全局行为。
  • lib:该目录包含了所有Maven运行时需要的类库,此外,还包含Maven所依赖的第三方类库。
  • LICENSE、README.txt等说明文档。

2.配置环境

此电脑–>属性–>高级系统设置–>环境变量–>系统变量–>新建
在这里插入图片描述

此电脑–>属性–>高级系统设置–>环境变量–>系统变量–>点击path–>新建
在这里插入图片描述

3.测试Maven是否配置(安装)成功

Winds+R进入cmd 输入mvn -v 如果输出maven的版本号,说明安装成功.(这里 runtime 为 jdk 下的jre目录是正确的,不是jdk 下的是不能使用的,解决方法参考另一篇 https://blog.csdn.net/weixin_45447134/article/details/132023379?spm=1001.2014.3001.5502
在这里插入图片描述

4.配置本地仓库

找到Maven下的settings.xml
D:\Installed\Maven\apache-maven-3.6.1\conf\settings.xml(自己存放Maven的路径)

<!-- localRepository
   | The path to the local repository maven will use to store artifacts.
   |
   | Default: ${user.home}/.m2/repository
 <localRepository>本地仓库地址,随便建个文件夹就好</localRepository>
  -->
  <localRepository>D:\Installed\Maven\apache-maven-3.6.1\Repository</localRepository>

找到标签,将内容改为自己想存贮的本地仓库

5.阿里云镜像

<mirrors>标签内加入

<!-- 阿里云仓库 -->
	<mirror>
	<id>alimaven</id>
	<mirrorOf>central</mirrorOf>
	<name>aliyun maven</name>
	<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
	</mirror>
    <!-- mirror
     | Specifies a repository mirror site to use instead of a given repository. The repository that
     | this mirror serves has an ID that matches the mirrorOf element of this mirror. IDs are used
     | for inheritance and direct lookup purposes, and must be unique across the set of mirrors.
     |
    <mirror>
      <id>mirrorId</id>
      <mirrorOf>repositoryId</mirrorOf>
      <name>Human Readable Name for this Mirror.</name>
      <url>http://my.repository.com/repo/path</url>
    </mirror>
     -->

即完成

6.配置 jdk

<profiles>标签内加入

<!-- java jdk1.8版本 -->
    <profile>
      <id>jdk-1.8</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <jdk>1.8</jdk>
      </activation>
      <properties>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>        
		<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
      </properties>
    </profile>

7.修改idea配置

注意打对钩部分。
在这里插入图片描述

8.像源生效

拉取编译或者同步时显示路径中包含aliyun.com的url则表示完成配置

Downloading from alimaven: http://maven.aliyun.com/nexus/content/repositories/central/org/jetbrains/......

特殊情况处理

由于使用了HTTPS,存在着SSL证书验证的问题,因此需要在IDEA中添加配置来忽略SSL证书的验证

下载过程中虽然显示已经配置过阿里云的镜像,但是新版本的阿里云镜像不再支持http下载,只支持https下载,再次做出修改配置

-Dmaven.wagon.http.ssl.insecure=true -Dmaven.wagon.http.ssl.allowall=true

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐