zoukankan      html  css  js  c++  java
  • 解决IDEA 2020.1.1 找不到程序包和符号

    问题描述

    IDEA 2020.1.1 maven项目build的时候报错,找不到程序包,找不到符号。

    IDEA 2020.1.1 maven project: cannot find package, cannot find symbol.

    思考

    项目是maven,使用mvn clean package可以完成编译。说明问题不在操作系统环境,也不在maven,也不是网络。
    那么问题必然是IDEA的问题。

    搜索IDEA 2020.1.1 很容易就找到了相关文章。

    触发条件

    一般我习惯在maven的settings.xml设置 localRepository。这样IDEA就不会使用默认路径,下载jar到 %USER_PROFILE%.m2 epository了。

    这样用了很多年,都没问题。这次没想到是因为 localRepository。

    问题解决

    经过验证,和是否使用自带的Maven无关。

    和settings,build, Execution, Deployment下的maven的User Settings File有关。

    如果指定的settings.xml文件内有localRepository,则触发这个问题。

    那么从配置文件中删除localRepository项,通过指定设置页面的LocalRepository,勾选Override默认配置,即可指向我们原本使用的路径,例如我的是 D:.m2Repository

    另外,还有一种比较彻底的解决办法

    直接添加系统环境变量:

    位置 系统环境变量/IDEA设置的位置
    1.系统环境变量 JVM_CONFIG_MAVEN_PROPS -Dmaven.repo.local=D:.m2 epository
    2.IDEA的设置 Settings/Build, Execution, Deployment/Build Tools/Maven/Runner 右侧VmOptions -Dmaven.repo.local=D:.m2 epository

    推荐使用方法1,如果设置了2的话,可以不用在IDEA内配置User Settings File和Override
    注意:喜欢使用Terminal的,以及在cmd,git Bash等任何终端内运行mvn 命令的人,都可以因这个变量受益

    最无敌的解决方案

    因为使用了Jetbrains Toolkit, 使用多个版本的IDEA, 结果导致新的IDEA 又要配置maven,烦.

    于是想到一个更无敌的办法,创建软连接:
    直接 Windows + X + A,

    cd %USERPROFILE%/.m2
    mklink /D repository D:.m2
    epository
    

    这样永远不会下载到C:盘了

  • 相关阅读:
    C# Lambda表达式 (转)
    用C#读取txt文件的方法(转)
    c#中stringbuilder的使用(转)
    c# 日期和时间的获取(转)
    C# List<T>用法 泛型 (转)
    indent format codes
    格式化输入输出 小结
    putty connection manager 一些问题的整理
    linux 网络的一些书籍
    Oracle学习笔记
  • 原文地址:https://www.cnblogs.com/slankka/p/12964971.html
Copyright © 2011-2022 走看看