IntelliJ IDEA更新Maven远程仓库索引index(pom文件终于有快速的自动提示了)

2023-11-12

IntelliJ IDEA更新Maven远程仓库索引

因为某些原因,在 IDEA 下载 Maven 索引总是特别慢,有时候等待它下载好几个小时,然后突然抽风下载失败,再下载又要重新下了,所以这里介绍从远程下载索引到本地更新的方法。本文默认你已经在 IDEA 配置好了 Maven 和 tomcat 环境,并且在 IntelliJ IDEA 已经关联了配置好的 Maven。

原理

IDEA 更新索引默认从中央仓库下载,如果在国内,下载非常慢。配置了阿里云镜像,就会从配置的镜像根目录 /.index/ 找索引文件,但是阿里云并没有提供索引服务,所以如果配置了阿里云镜像,再更新索引会报错。

​ 所以我们搭建 tomcat 本地服务器,再把本地服务器伪装成阿里云镜像服务器,将索引文件放到本地服务器,再从中央仓库下载索引文件放到服务器里,这样 IDEA 就会从本地服务器下载索引来更新。

步骤

1. 打开 Maven 的配置文件 :Maven根目录/conf/settings.xml ,先把自己添加的所有镜像注释,然后添加如下镜像,后面我们的 tomcat 本地服务器要伪装成这个镜像服务器:

    <mirror>
        <id>aliyunmaven</id>
        <mirrorOf>*</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>http://maven.aliyun.com/repository/public</url>
    </mirror>

注意是 http 而不是 https !!!因为我们搭建 tomcat 服务器默认是 http 服务。(http是为了后面tomcat直接访问,否则https还得配证书)

2. 打开 tomcat 的服务器配置文件:tomcat根目录/conf/server.xml ,找到这一段:

     <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="60000"
               redirectPort="8443" acceptCount="500" maxThreads="400"/>

将端口 8080 改为 80 

3. 手动从中央仓库下载索引,需要下载两个文件:nexus-maven-repository-index.properties 和 nexus-maven-repository-index.gz 。这里有个小坑,从谷歌浏览器直接另存为第一个文件,会自动加 .txt 后缀,注意去除。

4. 在 tomcat根目录/webapps/ROOT/ 下 创建文件夹 /repository/public/.index/ (注意与上面mirror中的对应,且其中的.index文件夹windows无法创建,需要使用Git Bash创建),
将下载好的文件移动到 tomcat根目录/webapps/ROOT/repository/public/.index/ 下,
tomcat 主页对应 tomcat 文件夹中的 ROOT 文件夹,因此,我们在 ROOT 文件夹里加文件,就能通过 127.0.0.1/文件夹名 下载。

5. 使用管理员权限修改 host 文件:C:/Windows/System32/drivers/etc/hosts ,在最后添加一行:127.0.0.1 maven.aliyun.com ,使访问maven.aliyun.com 映射到 127.0.0.1,计算机是先查 host 再查 dns 的,因此,修改 host 文件,把阿里云映射到本地,这样,访问 maven.aliyun.com 时,系统就自动跳到 127.0.0.1 。

6. 启动 tomcat ,在 Windows 系统下双击 tomcat根目录/bin/startup.bat 即可,启动时可能会报找不到 jdk 或者80端口占用等错误,百度一下自行解决,这里不再赘述。启动完成后建议浏览器访问 http://maven.aliyun.com/repository/public/.index/nexus-maven-repository-index.properties,看看是不是正常访问(这里注意:chrome浏览器会强制跳转http为https,所以建议大家使用Git Bash中使用curl命令访问一下有正常的返回内容即说明配置正确 )。

7. 打开 IDEA ,然后打开 File -> Settings 或者快捷键 Ctrl + Alt + S 打开设置,找到 Build,Execution,Deployment -> Build Tools -> Maven -> Respositories ,然后点击 https://repo.maven.apache.org/maven2 再点击 Update 按钮进行更新,这时候千万不能关闭对话框,否则会导致更新失败,IDEA 右下角会有更新进度条,等进度条消失就更新完毕啦。

8. 更新完成后我们要恢复一些配置文件:

  • 关闭 tomcat 服务器,修改 server.xml 配置文件,将 80 端口再改为8080端口。
  • 删除 ROOT 目录下的文件夹。
  • 删除 hosts 最后一行我们添加的映射。
  • 将 Maven 配置文件中 http 再改为 https

本文对原文有补充说明,和对原文的一些错误url路径的修改:

 IntelliJ IDEA更新Maven远程仓库索引_idea启动更新maven索引_Cetuer的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IntelliJ IDEA更新Maven远程仓库索引index(pom文件终于有快速的自动提示了) 的相关文章

随机推荐

  • leetcode——第55题——跳跃游戏

    题目 给定一个非负整数数组 nums 你最初位于数组的 第一个下标 数组中的每个元素代表你在该位置可以跳跃的最大长度 判断你是否能够到达最后一个下标 class Solution public bool canJump vector
  • XboxOne的kinect在Unity上的开发——开始界面

    好的 欢迎大家来看这个系列的第二部分的内容 这一次呢 我们就直接进入主题 开发切水果游戏本身 这次的切水果的demo呢 我们选择使用ugui来制作 因为ugui相对于NGUI的各种优势 让我们选择了ugui 关于这些呢 大家可以参考我的另一
  • 漏洞扫描是什么?怎么做?

    漏洞扫描 漏洞扫描是指基于漏洞数据库 通过扫描等手段对指定的远程或者本地计算机系统的安全脆弱性进行检测 发现可利用漏洞的一种安全检测 渗透攻击 行为 漏洞扫描按扫描器所处位置 可分为内网扫描和外网扫描 而按照工作方式 又可以将漏洞扫描分为远
  • 【SpringBoot项目实战】图片压缩包上传、解压、存储等等一套流程教学

    SpringBoot项目实战 图片压缩包上传 解压 存储等等一套流程教学 前言 一 压缩包上传 1 接口实现 2 获取压缩包的文件名和文件路径 二 压缩包解压并保存 1 处理压缩包文件方法 解压缩步骤 2 接口中实现处理压缩包 三 总结 前
  • HTML在工作中的使用

    本文是在学习HTML的时候 心血来潮尝试的做法 纯属瞎玩 不可当真 示例 工作中编辑邮件 在管理系统上进行任务编辑 描述时 都可能会使用到HTML的简单知识 有一些简单的标签可以帮助我们更好的完成工作 比如字体加粗 换行等 比如我在办公系统
  • python使用装饰器记录方法耗时

    思路 python使用修饰器记录方法耗时 目的是每当方法执行完后 可以记录该方法耗时 而不需要在每个方法的执行前后 去创建一个临时变量 来记录耗时 方式一 不推荐 在每个方法的执行前后 去创建一个临时变量 来记录耗时 代码如下 缺点在于 如
  • 爱好高科技之人脸识别模块

    前段时间看到一款性价比很不错的人脸识别模组 2个关键指标引起了我极大的兴趣 1 99 的识别通过率 误识率低于百万分之一 2 双目摄像头 活体检测 于是买了几个 结合离线语音模块 两者通过串口进行一问一答通信 人机交互部分通过语音和OLED
  • 运行vue-admin-template和vue-element-admin及可能问题点解决

    系统 windows10 64位 需求 安装node js git客户端 ssh公钥设定好 安装node sass 前提 安装好node js 配置好环境 安装好的nodejs文件夹下如下图所示 其中node global和node cac
  • Java21天打卡Day8-break

    break和continue break 表示跳出当前层循环 continue 表示跳出本次循环 进入下一次循环 import com sun org apache xerces internal util SynchronizedSymb
  • vue 项目放弃“tui-editor“ “1.3.3“,

    从官网https github com PanJiaChen vue element admin下载的版本带有 tui editor 版本1 3 3 在编译时会遇到如下问题 error An unexpected error occurre
  • 使用 X2MindSpore 迁移 Pytorch 训练脚本mobileNet支持分布式训练

    简介 MindSpore是华为昇腾开发的深度学习框架 旨在提供端边云全场景的AI框架 Pytorch是由Facebook推出的AI框架 本教程使用MindStudio中的X2MindSpore功能自动将Pytorch脚本转换为MindSpo
  • 整数的逆序数

    本题要求实现一个求整数的逆序数的简单函数 函数接口定义 int reverse int number 其中函数reverse须返回用户传入的整型number的逆序数 include
  • 解决warning: this statement may fall through [-Wimplicit-fallthrough=]

    使用switch如果缺少break gcc编译的时候会报相关的warnning信息 如果是忘记写 这样肯定是有问题的 警告信息可以帮助我们排除隐藏的bug 要消除警告很简单 把break加上就行 但是有时候 我们的需求就是需要继续向下执行
  • 计算曲线与坐标轴的面积

    根据坐标点 计算曲线与坐标轴的面积 import numpy as np import matplotlib pyplot as plt x np arange 0 1 0 001 y np sqrt 1 x 2 plt close all
  • STM32F4通过U盘升级程序

    昨天的文章中介绍F4系列单片机的内部Flash读写 包括之前文章中介绍了FatFS文件系统读写U盘的操作 本篇文章就是将两者结合 实现F4系列单片机程序的U盘升级 首先对内部Flash空间进行划分 前128K用于存储BootLoader程序
  • chatgpt login进不去的原因和解决办法!

    chatgpt官网在国内是打不开的 可以说是双向封闭 1 由于国内实施了网络审查和防火墙措施 访问特定的网站会受到限制主要是针对服务器设置到境外的网站 为了确保网络安全和政策合规性防火墙会屏蔽包含敏感内容或违反相关规定的网站或服务 以确保网
  • Cadence OrCAD原理图如何统计元件管脚总数量

    Cadence OrCAD原理图如何统计元件管脚总数量 本章节教大家如何在Cadence OrCAD原理图如何统计元件管脚总数量 操作方法 1 打开原理图文件 File Open Design 2 鼠标单击选中根目录下DSN文件夹 右键选择
  • ajax 用户验证js,js ajax验证用户名

    回答 jQuery的ajax 验证用户名的例子 验证用户名 js 方法 uname 输入的用户名 function ajax check uname uname var url check uname php 这里是你的php post u
  • Vue3 框架使用报错以及解决办法

    1 TypeError Failed to fetch dynamically imported module 引入组件时 没有添加 vue后缀 或者引入的组建没有被使用 2 SyntaxError The requested module
  • IntelliJ IDEA更新Maven远程仓库索引index(pom文件终于有快速的自动提示了)

    IntelliJ IDEA更新Maven远程仓库索引 因为某些原因 在 IDEA 下载 Maven 索引总是特别慢 有时候等待它下载好几个小时 然后突然抽风下载失败 再下载又要重新下了 所以这里介绍从远程下载索引到本地更新的方法 本文默认你