IDEA ,JDK 导致的问题总结【持续更新】

2021年03月18日 16:23 · 阅读(3454) ·

开发环境

名称 版本
操作系统 Windows 10 X64
JDK JDK1.8(jdk-8u151-windows-x64)
IntelliJ IDEA IntelliJ IDEA 2018.3
IntelliJ IDEA IntelliJ IDEA 2021.2.1
Maven Maven 3.6.0

程序包 xx 不存在

问题描述

项目新建了一个模块,maven 包都正常导入,也能查看对应包的源代码,但是编译项目就是报错程序包 xx 不存在

好像所有的包都没有导入

查看导入的情况,是正常的

问题解决

参考 IDEA工程运行时,总是报xx程序包不存在,实际上包已导入

1.删除工程目录下的 .iml 文件

删除之前最好备份一下。这里我删除 demo-framework.iml

2.打开命令行或者 IDEA 底部 Terminal 窗口,将目录调整到工程目录下,执行 mvn idea:module 重新生成 .iml 文件;

3.IDEA 菜单选择构建项目,报错

  1. 错误:Internal error: (java.util.concurrent.ExecutionException) java.lang.IllegalArgumentException: Argument for @NotNull parameter 'url' of org/jetbrains/jps/model/impl/JpsUrlListImpl.addUrl must not be null
  2. java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Argument for @NotNull parameter 'url' of org/jetbrains/jps/model/impl/JpsUrlListImpl.addUrl must not be null
  3. at java.util.concurrent.FutureTask.report(FutureTask.java:122)
  4. at java.util.concurrent.FutureTask.get(FutureTask.java:192)
  5. at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadModules(JpsProjectLoader.java:396)
  6. at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadModules(JpsProjectLoader.java:328)
  7. at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadFromDirectory(JpsProjectLoader.java:198)
  8. at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadProject(JpsProjectLoader.java:98)
  9. at org.jetbrains.jps.model.serialization.impl.JpsSerializationManagerImpl.loadModel(JpsSerializationManagerImpl.java:42)
  10. at org.jetbrains.jps.cmdline.JpsModelLoaderImpl.loadModel(JpsModelLoaderImpl.java:50)
  11. at org.jetbrains.jps.cmdline.BuildRunner.load(BuildRunner.java:79)
  12. at org.jetbrains.jps.cmdline.BuildSession.runBuild(BuildSession.java:279)
  13. at org.jetbrains.jps.cmdline.BuildSession.run(BuildSession.java:135)
  14. at org.jetbrains.jps.cmdline.BuildMain$MyMessageHandler.lambda$channelRead0$0(BuildMain.java:229)
  15. at org.jetbrains.jps.service.impl.SharedThreadPoolImpl.lambda$executeOnPooledThread$0(SharedThreadPoolImpl.java:42)
  16. at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  17. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  18. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
  19. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
  20. at java.lang.Thread.run(Thread.java:748)
  21. Caused by: java.lang.IllegalArgumentException: Argument for @NotNull parameter 'url' of org/jetbrains/jps/model/impl/JpsUrlListImpl.addUrl must not be null
  22. at org.jetbrains.jps.model.impl.JpsUrlListImpl.$$$reportNull$$$0(JpsUrlListImpl.java)
  23. at org.jetbrains.jps.model.impl.JpsUrlListImpl.addUrl(JpsUrlListImpl.java)
  24. at org.jetbrains.jps.model.serialization.module.JpsModuleRootModelSerializer.loadRootModel(JpsModuleRootModelSerializer.java:80)
  25. at org.jetbrains.jps.model.serialization.JpsProjectLoader.loadModule(JpsProjectLoader.java:425)
  26. at org.jetbrains.jps.model.serialization.JpsProjectLoader.lambda$loadModules$2(JpsProjectLoader.java:392)
  27. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  28. at com.intellij.util.concurrency.BoundedTaskExecutor.doRun(BoundedTaskExecutor.java:227)
  29. at com.intellij.util.concurrency.BoundedTaskExecutor.access$100(BoundedTaskExecutor.java:26)
  30. at com.intellij.util.concurrency.BoundedTaskExecutor$2$1.run(BoundedTaskExecutor.java:200)
  31. at com.intellij.util.ConcurrencyUtil.runUnderThreadName(ConcurrencyUtil.java:229)
  32. at com.intellij.util.concurrency.BoundedTaskExecutor$2.run(BoundedTaskExecutor.java:194)
  33. ... 6 more

错误:Internal error: (java.util.concurrent.ExecutionException) java.lang.IllegalArgumentException: Argument for @NotNull parameter

问题描述

上一个问题解决后引起的

问题解决

把上一个问题中 demo-framework.iml 文件内容修改为

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <module type="JAVA_MODULE" version="4" />

然后 Idea 重现导入了项目,问题解决

Error launching IDEA

安装了 64 位 IDEA 版本,IntelliJ IDEA 2021.2.1,打开报下面的错误

  1. ---------------------------
  2. Error launching IDEA
  3. ---------------------------
  4. Failed to load JVM DLL C:\Program Files\JetBrains\IntelliJ IDEA 2021.2.1\jbr\\bin\server\jvm.dll
  5. If you already have a 64-bit JDK installed, define a JAVA_HOME variable in Computer > System Properties > System Settings > Environment Variables.
  6. ---------------------------
  7. 确定
  8. ---------------------------

环境变量已经配置

环境变量名称
Java_Home D:\Program Files\Java\jdk1.8.0_151
CLASSPATH .;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar
Path ;%Java_Home%\bin;%Java_Home%\jre\bin

命令行查看 JDK 版本,也是 64 位没错

  1. C:\Windows\system32>java -version
  2. java version "1.8.0_151"
  3. Java(TM) SE Runtime Environment (build 1.8.0_151-b12)
  4. Java HotSpot(TM) 64-Bit Server VM (build 25.151-b12, mixed mode)

后来发现以管理员身份运行,问题解决

错误:(291, 52) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符)

问题描述

使用 IntelliJ IDEA 2018.3 打开一个新项目,构建项目提示下面的错误

  1. D:\XXXXX.java
  2. 错误:(291, 52) java: -source 1.5 中不支持 diamond 运算符
  3. (请使用 -source 7 或更高版本以启用 diamond 运算符)

问题分析

分析可能是 Java 版本的问题,后来发现是 Maven 的引用地址导致没有引入对应的 Java 包,从而报错

问题解决

这里为什么这样设置,参考 Maven 安装与配置

文件-设置

构建,执行,部署-构建工具-Maven

一共设置3项

名称 说明 配置
Maven Home Directory Maven 安装包路径 D:\Program Files\apache-maven-3.6.0
User settings file 用户配置文件 D:\Program Files\apache-maven-3.6.0\conf\settings.xml
Local repository 本地仓库 D:\Program Files\Maven\Repository

测试结果

配置后,点击 Import Changes

相关引入包引入完成后,再次编译,错误已不再出现

无法解析插件-org.apache.maven.plugins

问题描述

报错

  1. 无法解析插件 org.apache.maven.plugins:maven-clean-plugin:2.5
  2. 无法解析插件 org.apache.maven.plugins:maven-resources-plugin:2.6
  3. 无法解析插件 org.apache.maven.plugins:maven-compiler-plugin:3.1
  4. 无法解析插件 org.apache.maven.plugins:maven-surefire-plugin:2.12.4
  5. 无法解析插件 org.apache.maven.plugins:maven-install-plugin:2.4
  6. 无法解析插件 org.apache.maven.plugins:maven-deploy-plugin:2.7
  7. 无法解析插件 org.apache.maven.plugins:maven-site-plugin:3.3

解决办法,和问题 错误:(291, 52) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符) 解决办法一致

不能解决符号 ‘xx’,Cannot resolve symbol ‘xx’

问题描述

IDEA 加载一个项目代码,报下面的错误

  1. 不能解决符号 'String'
  2. Cannot resolve symbol 'String'

问题分析

由于没有设置 JDK 版本的原因引起的

右键项目-打开模块设置

项目设置

模块设置,修改为 8

Java 编译器

文件编码

还尝试重新安装了最新版本的 JDK,还是不行。

问题结论

还是不行,简直有毒,这里的版本是 IntelliJ IDEA 2020.2.4 x64

但是相同的项目,我在 IntelliJ IDEA 2018.3 这个版本打开,是没问题的,简直有毒。

我在另外一台电脑上安装了 IDEA 2021.2.1 (Ultimate Edition),打开了相同的项目,编译运行成功。

问题解决

2021年9月1日10:41:29

参考了下面的文章

IDEA一直显示Cannot resolve symbol ‘String’

最终找到了解决方案

我把C盘用户目录下面的idea文件夹删除干净,并卸载IDEA,之后重装IDEA。

先删除 C 盘下 IDEA 的相关目录,这里我删除了下面的目录

  1. C:\Users\luoma\.IntelliJIdea2018.3

重装 IDEA 后,再次打开相同的项目,问题消失

错误:java: Compilation failed: internal java compiler error

问题描述,编译报错

  1. 错误:java: Compilation failed: internal java compiler error

问题分析

原因是 JDK 版本不对

问题解决

设置中,设置 JDK 版本

java: 编译失败: 内部 java 编译器错误

设置 Java 编译器版本