IntelliJ IDEA和MAVEN基本操作:项目和缓存存储到非C盘

为了将 IntelliJ IDEA 的所有项目和缓存存储到 C 盘以外的地方,以下是你需要调整的设置和步骤:


1. 更改项目默认存储位置

  • 打开 IntelliJ IDEA。
  • 点击顶部菜单的 File > Settings (Windows)或 IntelliJ IDEA > Preferences (Mac)。
  • 导航到 Appearance & Behavior > System Settings
  • 找到 Default project directory,将默认项目位置改为你希望的非 C 盘路径。

2. 更改 IDE 缓存目录

IDEA 的缓存目录(例如 .idea 配置文件、索引数据等)默认存储在用户目录下(如我是C:\Users\Acer\AppData\Roaming\JetBrains\IntelliJIdea2024.3)

查找当前缓存目录的方法
打开 IntelliJ IDEA。
点击顶部菜单 Help > Diagnostic Tools > Show Log in Explorer。
弹出的文件管理器路径即为 IDEA 缓存路径所在的文件夹,你可以向上一级目录确认缓存存储的根目录。
  • 找到 IntelliJ IDEA 的配置文件。
    • Windows: C:\Users\<用户名>\.IdeaIC<版本号>\idea.properties
    • Mac: ~/Library/Preferences/IdeaIC<版本号>/idea.properties
    • Linux: ~/.IdeaIC<版本号>/config/idea.properties
  • 如果 idea.properties 文件不存在,可以手动创建。

  • 注意左下角,找到你了!
    此外,C:\Users\Acer\AppData\Local\JetBrains\IntelliJIdea2024.3\tmp\JetBrainsGateway
    下的 config 文件夹仅是临时文件的一部分,它并不是主配置文件的位置。IDEA 的主配置文件通常存储在 AppData\Roaming 或类似的路径中,而不是 tmp 文件夹。

  • 在这个 idea.properties 的文件中添加以下内容来更改路径:

    # 系统缓存路径
    idea.system.path=D:/JetBrains/IntelliJ/system
    
    # 配置文件路径
    idea.config.path=D:/JetBrains/IntelliJ/config
    
    # 插件存储路径
    idea.plugins.path=D:/JetBrains/IntelliJ/plugins
    

    将路径改为你希望的存储位置。

  • 重启 IntelliJ IDEA 配置完成后,重启 IDEA,让新的配置生效。

  • 打开 IDEA 的菜单 Help > Diagnostic Tools > Show Log in Explorer
  • 查看弹出的文件路径是否指向你新设置的路径。
  • 检查新的缓存目录(如 D:/JetBrains/IntelliJ/system)是否开始生成索引和临时文件。

3. 更改 Maven 缓存路径

3. 验证修改

4. Maven 包装器的路径

  • 具体见 在IDEA中使用Maven详细教程_idea maven-CSDN博客​​​​​​

  • 要将 Maven 的缓存和包装器存储路径从默认的 C 盘移到 D 盘或其他路径,可以按照以下步骤修改你的配置文件 settings.xml

  • 1. 修改 settings.xml 文件

    在你的 settings.xml 文件中找到 <localRepository> 标签(如果没有,可以添加)。此标签用于指定 Maven 本地仓库的路径,默认是 ${user.home}/.m2/repository

    <localRepository> 设置为你希望的路径,例如 D:\Programming\apache-maven-3.9.9\maven-cache

    <settings xmlns="http://maven.apache.org/SETTINGS/1.2.0"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.2.0 https://maven.apache.org/xsd/settings-1.2.0.xsd">
        <!-- 指定 Maven 本地仓库路径 -->
        <localRepository>D:\Programming\maven-repository</localRepository>
    
        <!-- 其他配置保持不变 -->
    </settings>
    

    2. 保存配置文件

    将修改后的 settings.xml 文件保存到以下全部路径:

  • 用户级别配置:%USERPROFILE%\.m2\settings.xml(例如我是C:\Users\Acer\.m2\settings.xml

    注意!!!必须把自己修改后的配置文件复制到这里,因为这里优先读取的,也就是说这里这个目录下必须要有,且仅有一个配置文件,它就是D:\Programming\apache-maven-3.9.9\conf\settings.xml的复制版

    如果忘记了这一步,所有的修改将仍然会无效。




     
  • 全局配置:Maven 安装目录/conf/settings.xml(例如:D:\Programming\apache-maven-3.9.9\conf\settings.xml
  • 清理已有的缓存目录(默认路径在 C:\Users\<用户名>\.m2\repository.m2
  • 运行以下命令,验证 Maven 是否正常使用新的路径存储依赖:
    mvn clean install
    
  • 检查 D:\Programming\maven-repository 目录,确认依赖是否存储在该路径下。
  • Maven 和 Maven Wrapper 的区别:
    mvn 是全局的 Maven 命令,依赖于系统中已安装的 Maven。
    mvnw 是项目本地的包装器命令,用于项目级别管理 Maven 版本。

为了彻底避免 Maven 使用默认的 C:\Users\<用户名>\.m2 目录,可以设置 MAVEN_USER_HOME 环境变量,让 Maven 包括其包装器在内都使用新的路径。

设置步骤:
  • 打开环境变量设置:
    • 右键单击 "此电脑" -> "属性" -> "高级系统设置" -> "环境变量"。
  • 添加新的系统变量:
    • 变量名:MAVEN_USER_HOME
    • 变量值:D:\Programming\apache-maven-3.9.9\maven-cache
    • 如果只是临时:

    在这个特定项目下的.mvn/wrapper/maven-wrapper.properties 文件中的 distributionUrl 路径。将其修改为自定义缓存目录,例如:

    distributionUrl=file:///D:/Programming/apache-maven-3.9.9/maven-cache/apache-maven-3.9.9-bin.zip

    distributionUrl:

    • 表示 Maven 包装器会从指定的 URL 下载 Maven 分发包(通常是一个 ZIP 文件)。
    • 示例中配置的 URL 是 Maven 官方仓库,指向 apache-maven-3.8.4-bin.zip
    • 下载的分发包会存储在项目目录的 .mvn/wrapper/dists 文件夹下,具体路径与系统有关。
      • 在 Windows 上通常是 C:\Users\<你的用户名>\.m2\wrapper\dists
      • 在 Linux 或 macOS 上通常是 ~/.m2/wrapper/dists
  • wrapperUrl:

    • 指定 Maven 包装器 jar 文件的下载地址。
    • 这个 jar 文件是 Maven Wrapper 的核心逻辑文件,通常会下载到 .mvn/wrapper/ 目录下。
       

      关于包装器,至今我仍然无解!!放弃了

      参考 
      https://zhuanlan.zhihu.com/p/427984150 
      关于maven包装器的一些使用心得-CSDN博客


      问题确认

      你已经正确设置了系统环境变量 %MAVEN_USER_HOME%D:\Programming\apache-maven-3.9.9\maven-cache
    • 修改了 settings.xml 中的 <localRepository> 指向同一目录。
    • 但是,Maven 包装器仍然在 C:\Users\Acer\.m2\wrapper 下载缓存文件,而非使用指定的路径。
    • Maven 包装器的缓存路径与依赖库缓存路径 不是同一个概念。即使设置了 %MAVEN_USER_HOME%<localRepository>,包装器默认仍会使用 C:\Users\<用户名>\.m2\wrapper 作为缓存路径,除非明确通过配置覆盖其行为。


      正确解决方案

      为了彻底转移所有缓存(包括依赖和包装器缓存)到 D:\Programming\apache-maven-3.9.9\maven-cache,需要以下步骤:


      1. 配置 MAVEN_OPTS 强制指定缓存路径

      添加 JVM 参数覆盖默认路径,包括包装器缓存和依赖库路径。

    • 打开系统环境变量设置:
      • 右键点击 “此电脑” -> 选择 “属性” -> 点击 “高级系统设置” -> 点击 “环境变量”。
    • 添加或修改环境变量:
      • 变量名MAVEN_OPTS
      • 变量值
        -Dmaven.repo.local=D:/Programming/apache-maven-3.9.9/maven-cache -Dmaven.wrapper.cache.dir=D:/Programming/apache-maven-3.9.9/maven-cache/wrapper
        
    • 此配置中:

    • maven.repo.local:强制指定依赖库的缓存路径。
    • maven.wrapper.cache.dir:强制指定包装器缓存路径。

    • 2. 修改项目中的 Maven 包装器配置

      确保 .mvn/wrapper/maven-wrapper.properties 文件中的 distributionUrl 指向正确的路径。

    • 打开 .mvn/wrapper/maven-wrapper.properties
    • 修改以下内容:
      distributionUrl=file:///D:/Programming/apache-maven-3.9.9/maven-cache/apache-maven-3.8.4-bin.zip
      
    • 如果本地没有 apache-maven-3.8.4-bin.zip,手动下载该文件到指定路径。

    • 3. 验证配置是否生效

      执行以下命令,检查缓存路径是否正确:

    • 检查依赖库缓存路径:

      mvn dependency:resolve
      

      查看是否在 D:\Programming\apache-maven-3.9.9\maven-cache 生成新的缓存文件夹。

    • 检查包装器缓存路径:

      mvnw -version
      

      检查是否在 D:\Programming\apache-maven-3.9.9\maven-cache\wrapper 下载缓存文件。


    • 4. 删除 C 盘旧缓存目录

      确认新路径生效后,手动删除C:\Users\Acer\.m2\repository C:\Users\Acer\.m2\wrapper以释放空间:

    • 最终,所有缓存(包括依赖库和包装器缓存)都会存储在 D:\Programming\apache-maven-3.9.9\maven-cache 下:

    • 依赖库存储路径示例:
      D:\Programming\apache-maven-3.9.9\maven-cache\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar
      
    • 包装器缓存路径示例:
      D:\Programming\apache-maven-3.9.9\maven-cache\wrapper\apache-maven-3.8.4-bin.zip
      

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/953107.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux系列】`find / -name cacert.pem` 文件搜索

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

RabbitMQ基础(简单易懂)

RabbitMQ高级篇请看&#xff1a; RabbitMQ高级篇-CSDN博客 目录 什么是RabbitMQ&#xff1f; MQ 的核心概念 1. RabbitMQ 的核心组件 2. Exchange 的类型 3. 数据流向说明 如何安装RabbitQueue&#xff1f; WorkQueue&#xff08;工作队列&#xff09;&#xff1a; Fa…

《Spring Framework实战》5:Spring Framework 概述

欢迎观看《Spring Framework实战》视频教程 Spring 使创建 Java 企业应用程序变得容易。它为您提供一切 需要在企业环境中采用 Java 语言&#xff0c;并支持 Groovy 和 Kotlin 作为 JVM 上的替代语言&#xff0c;并且可以灵活地创建许多 类型的架构。从 Spring Framework 6.0 开…

有限元分析学习——Anasys Workbanch第一阶段笔记(10)桌子载荷案例分析_实际载荷与均布载荷的对比

目录 0 序言 1 桌子案例 2 模型简化 3 方案A 前处理 1&#xff09;分析类型选择 2&#xff09;材料加载 3&#xff09;约束、载荷及接触 4&#xff09;控制网格(网格大小需要根据结果不断调整) 初始计算结果 加密后计算结果 4 方案B、C 前处理 1&#xff09;分析…

Git 基础——《Pro Git》

⭐获取 Git 仓库 获取 Git 仓库有两种方式&#xff1a; 将未进行版本控制的本地目录转换为 Git 仓库。从其他服务器克隆一个已存在的 Git 仓库。 在已存在目录中初始化 Git 仓库 进入目标目录 在 Linux 上&#xff1a;$ cd /home/user/my_project在 macOS 上&#xff1a;$ c…

Java 将RTF文档转换为Word、PDF、HTML、图片

RTF文档因其跨平台兼容性而广泛使用&#xff0c;但有时在不同的应用场景可能需要特定的文档格式。例如&#xff0c;Word文档适合编辑和协作&#xff0c;PDF文档适合打印和分发&#xff0c;HTML文档适合在线展示&#xff0c;图片格式则适合社交媒体分享。因此我们可能会需要将RT…

R语言在森林生态研究中的魔法:结构、功能与稳定性分析——发现数据背后的生态故事!

森林生态系统结构、功能与稳定性分析与可视化研究具有多方面的重要意义&#xff0c;具体如下&#xff1a; 一、理论意义 ●深化生态学理论 通过研究森林生态系统的结构、功能与稳定性&#xff0c;可以深化对生态系统基本理论的理解。例如&#xff0c;生物多样性与生态系统稳定性…

Delphi+SQL Server实现的(GUI)户籍管理系统

1.项目简介 本项目是一个户籍管理系统&#xff0c;用于记录住户身份信息&#xff0c;提供新户登记&#xff08;增加&#xff09;、户籍变更&#xff08;修改&#xff09;、户籍注销&#xff08;删除&#xff09;、户籍查询、曾用名查询、迁户记录查询以及创建备份、删除备份共8…

第2课 “Hello World” 与 print

1 Hello World 2 print 函数解析 2.1 基本用法 2.2 输出多个对象 2.3 使用sep参数 2.4 使用flush参数 2.5 输出到文件 3 格式化输出 3.1 格式化输出整数 3.2 格式化输出16进制整数 3.3 格式化输出浮点数(float) 3.4 格式化输出字符串(string) 3.5 输出列表与字典 …

计算机网络(四)网络层

4.1、网络层概述 简介 网络层的主要任务是实现网络互连&#xff0c;进而实现数据包在各网络之间的传输 这些异构型网络N1~N7如果只是需要各自内部通信&#xff0c;他们只要实现各自的物理层和数据链路层即可 但是如果要将这些异构型网络互连起来&#xff0c;形成一个更大的互…

qt 窗口(window/widget)绘制/渲染顺序 QPainter QPaintDevice Qpainter渲染 失效 无效 原因

qt窗体布局 窗体渲染过程 qt中窗体渲染逻辑顺序为 本窗体->子窗体/控件 递归&#xff0c;也就是说先渲染父窗体再渲染子窗体。其中子窗体按加入时的先后顺序进行渲染。通过下方的函数调用堆栈可以看出窗体都是在widget组件源码的widgetprivate::drawwidget中进行渲染的&am…

网络安全-kail linux 网络配置(基础篇)

一、网络配置 1.查看网络IP地址&#xff0c; 我的kail&#xff1a;192.168.15.128 使用ifconfig查看kail网络连接情况&#xff0c;ip地址情况 又复制了一台kail计算机的IP地址。 再看一下windows本机&#xff1a;使用ipconfig进行查看&#xff1a; 再看一下虚拟机上的win7I…

Edge浏览器内置的截长图功能

Edge浏览器内置截图功能 近年来&#xff0c;Edge浏览器不断更新和完善&#xff0c;也提供了长截图功能。在Edge中&#xff0c;只需点击右上角的“...”&#xff0c;然后选择“网页捕获”->“捕获整页”&#xff0c;即可实现长截图。这一功能的简单易用&#xff0c;使其成为…

【NLP】语言模型的发展历程 (1)

语言模型的发展历程系列博客主要包含以下文章&#xff1a; 【NLP】语言模型的发展历程 (1)【NLP】大语言模型的发展历程 (2) 本篇博客是该系列的第一篇&#xff0c;主要讲讲 语言模型&#xff08;LM&#xff0c;Language Model&#xff09; 的发展历程。 文章目录 一、统计语…

【ASP.NET学习】ASP.NET MVC基本编程

文章目录 ASP.NET MVCMVC 编程模式ASP.NET MVC - Internet 应用程序创建MVC web应用程序应用程序信息应用程序文件配置文件 用新建的ASP.NET MVC程序做一个简单计算器1. **修改视图文件**2. **修改控制器文件** 用新建的ASP.NET MVC程序做一个复杂计算器1.创建模型&#xff08;…

蓝桥云客第 5 场 算法季度赛

题目&#xff1a; 2.开赛主题曲【算法赛】 - 蓝桥云课 问题描述 蓝桥杯组委会创作了一首气势磅礴的开赛主题曲&#xff0c;其歌词可用一个仅包含小写字母的字符串 S 表示。S 中的每个字符对应一个音高&#xff0c;音高由字母表顺序决定&#xff1a;a1,b2,...,z26。字母越靠后…

计算机网络 (37)TCP的流量控制

前言 计算机网络中的TCP&#xff08;传输控制协议&#xff09;流量控制是一种重要机制&#xff0c;用于确保数据在发送方和接收方之间的传输既高效又稳定。 一、目的 TCP流量控制的主要目的是防止发送方发送数据过快&#xff0c;导致接收方无法及时处理&#xff0c;从而引起数据…

【Elasticsearch7.11】postman批量导入少量数据

JSON 文件内的数据格式&#xff0c;json文件数据条数不要过多&#xff0c;会请求参数过大&#xff0c;最好控制再10000以内。 {"index":{"_id":"baec07466732902d22a24ba01ff09751"}} {"uuid":"baec07466732902d22a24ba01ff0975…

Spring Boot 支持哪些日志框架

Spring Boot 支持多种日志框架&#xff0c;主要包括以下几种&#xff1a; SLF4J (Simple Logging Facade for Java) Logback&#xff08;默认&#xff09;Log4j 2Java Util Logging (JUL) 其中&#xff0c;Spring Boot 默认使用 SLF4J 和 Logback 作为日志框架。如果你需要使…

AIDD - 人工智能药物设计 -深度学习赋能脂质纳米颗粒设计,实现高效肺部基因递送

Nat. Biotechnol. | 深度学习赋能脂质纳米颗粒设计&#xff0c;实现高效肺部基因递送 今天为大家介绍的是来自美国麻省理工和爱荷华大学卡弗医学院团队的一篇论文。可离子化脂质&#xff08;ionizable lipids&#xff09;是脂质纳米颗粒&#xff08;lipid nanoparticles&#…