Idea系列--问题解决

cannot resolve symbol “xxxx”

情况1

现象:类显示为红色,compile也失败

原因:包不在classpath中

解决:鼠标放到红色处=> alt + enter=> Add library 'xxxxxx' to classpath

情况2

现象:IDEA 无法识别同一个 package 里的其他类,将其显示为红色

原因:JDK丢失了

解决: File=>  Project Structure=> Project Settings=> Project SDK=> 选择正确的SDK

情况3

现象:  IDEA 无法识别同一个 package 里的其他类,将其显示为红色,但是 compile 没有问题。鼠标放上去后显示 “Cannot resolve symbol XXX”,重启 IDEA ,重新 sync gradle,Clean build 都没有用。

原因: 多半是因为 IDEA 之前发生了错误,某些 setting 出了问题。

解决:File=> Invalidate Caches / Restart=> Invalidate and Restart

错误: 找不到或无法加载主类 xxx

复现:修改包的名字:右键包=> Refactor=> Rename,重新运行出错

原因:Refactor功能没有修改Idea的运行配置。
    在以下两处可以发现,都是原来包的位置。
    Run=> Edit Configurations=> Application=>
        Configurations=> Main class
        Code Coverage=> Packages and classes to include  in coverage data

解决:把上边两处改为相应的包即可。

同样的程序,其中一个失败

复现

有两个工程,test_maven和test_ES,里边的程序及配置一模一样,但test_maven成功,test_ES报异常:Caused by: java.lang.ClassNotFoundException: org.elasticsearch.index.query.QueryBuilder

排查过程

1. 使用BeyondCompare比较,发现部署的xml文件不同:

test_maven的test_maven_war_exploded.xml:

Idea系列--问题解决_第1张图片

test_ES的test_ES_war_exploded.xml:

Idea系列--问题解决_第2张图片

可见差别:ES的没有相关库。

2.重新部署

File=> Project Structure=> Project Settings=> Artifacts=> 中间“+”号=> 选择默认的模块=> Apply

经试验,还是报错

3.重新配置Tomcat

Run=> Edit Configurations=> 删除原有Tomcat=> 中间“+”号=> Tomcat Server=> Local=> ...
详见:Tomcat系列--综述_feiying0canglang的博客-CSDN博客 

Gradle项目缓存问题

 错误日志

2020-08-18 09:28:27.154  INFO [-,,,] 4940 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Fetching config from server at : http://localhost:8888
2020-08-18 09:28:29.244  INFO [-,,,] 4940 --- [           main] c.c.c.ConfigServicePropertySourceLocator : Connect Timeout Exception on Url - http://localhost:8888. Will be trying the next url if available
...
Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'spring.application.name' in value "${spring.application.name}"

 解决方法

Idea系列--问题解决_第3张图片

Reading pom.xml

更新了Idea版本到2020.2.3之后,再次打开项目就停在这里:Reading xxx pom.xml。

解决方法

关闭Idea=> 删掉项目路径下的.idea文件夹=> 以pom.xml打开项目

你可能感兴趣的:(开发工具,Idea)