如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例

这篇具有很好参考价值的文章主要介绍了如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

这个问题是 2023 年 7 月 26 日遇到的,当时还是 IDEA 2023.1.4,结果文章还没写完,7 月 27 日自动给更新了 IDEA 2023.2。问题估计解决了。
所以,本文就简单提一下 IDEA 自身报错的排查方法。

规避/解决方式

先说问题怎么处理:

IDEA 设置从 Maven wrapper 改为使用内置 Maven。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

排查步骤

Maven 项目模块调整后,IDEA 没有正确识别新模块

项目的 Maven 模块有一些调整,fixture 下新增了一个 database 模块。按理说,平时 IDEA 会自动识别新模块并自动移除被删除的模块。但是,新增的 database 模块一直没有被加入源码,被删除的模块仍然在模块列表里。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

使用 Maven 命令 install 正常,但 IDEA 构建项目会发生找不到包、类等编译错误。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java
检查 database 模块的 pom.xml 文件,里面没有发现错误。(不然 Maven install 执行也会出问题)

IDEA 尝试执行 Reload All Maven Projects
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

执行后问题没有解决,但在 Build 窗口中看到报了一个错误:

如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java
这个错误没有任何详细信息。

尝试过清除缓存等手段均无法解决问题。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

既然 IDEA 报错了,问题还没解决,要想办法知道具体报的是什么错。

检查 IDEA 日志

找 IDEA 日志的方式有很多,可以在 Help 菜单中直接打开,也可以通过 Actions 窗口导航。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

Linux 下可以直接 tail IDEA log,其他平台可能需要手动打开 IDEA 日志文件。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

搜索 Build 窗口中抛出的异常 java.lang.reflect.InvocationTargetException,在日志中发现了完整信息:

2023-07-26 16:31:47,659 [  59616]   INFO - #o.j.i.m.p.MavenProjectsProcessor - [maven import] MavenProjectsProcessorReadingTask took 3303ms
2023-07-26 16:31:47,765 [  59722]   WARN - #o.j.i.maven - java.lang.reflect.InvocationTargetException
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
	at org.jetbrains.idea.maven.server.MavenRemoteObject.wrapToSerializableRuntimeException(MavenRemoteObject.java:28)
	at org.jetbrains.idea.maven.server.Maven3XServerEmbedder.<init>(Maven3XServerEmbedder.java:239)
	at org.jetbrains.idea.maven.server.Maven36ServerEmbedderImpl.<init>(Maven36ServerEmbedderImpl.java:8)
	at org.jetbrains.idea.maven.server.Maven36ServerImpl.createEmbedder(Maven36ServerImpl.java:22)
# 省略部分链路
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:833)
Caused by: java.lang.reflect.InvocationTargetException
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:568)
	at org.jetbrains.idea.maven.server.Maven3XServerEmbedder.<init>(Maven3XServerEmbedder.java:229)
# 省略部分链路
	at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	... 1 more
Caused by: java.io.FileNotFoundException: The specified global settings file does not exist: /home/wuweijie/conf/settings.xml
	at org.apache.maven.cli.configuration.SettingsXmlConfigurationProcessor.process(SettingsXmlConfigurationProcessor.java:117)
	at org.apache.maven.cli.MavenCli.configure(MavenCli.java:1169)
	at org.apache.maven.cli.MavenCli.loadCoreExtensions(MavenCli.java:758)
	at org.apache.maven.cli.MavenCli.container(MavenCli.java:633)
	... 24 more

发现错误原因可能是 Maven 尝试在路径 /home/wuweijie/conf/settings.xml 读取配置文件,但这个路径 conf 目录并不存在,而且我也从来没有在 .m2 目录以外的地方放置过任何 Maven 配置。

检查 Maven 配置

配置文件没有指定。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

虽然勾选了使用 .mvn/maven.confg,但这个路径文件也不存在。
如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

所以 IDEA 到底是从哪里弄来了一个不存在的路径?

检索 IDEA 的 YouTrack(类似 GitHub Issues)

发现确实有人反馈了同样的问题,已经在 2023.1.5 和 2023.2 解决了。

https://youtrack.jetbrains.com/issue/IDEA-322338/maven-reimport-fails-with-java.io.FileNotFoundException-The-specified-global-settings-file-does-not-exist-conf-settings.xml

如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例,IntelliJ IDEA,intellij-idea,maven,java

小结

其实查 IDEA 本身的问题和平时没有太大的差异:文章来源地址https://www.toymoban.com/news/detail-617981.html

  • 查日志,找出具体原因;
  • 查 issues,看是否有同样问题或解决方案;没有类似的问题就提个新的 issue。
  • 感兴趣的可以自己深入排查。

到了这里,关于如何排查 IDEA 自身报错?| 以 IntelliJ IDEA 2023.1.4 无法刷新项目 Maven 模块的问题为例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IntelliJ IDEA 2023.2安装与激活

    Intellij IDEA最新版安装与激活,当前版本为2023.2,仅供交流,请从官方渠道申请正版授权码。 版本升级:如果按照更新提示完成升级的,升级后执行 修改配置文件 即可。 启用新UI,在 设置 - 外观与行为 - 新UI 中,勾选 启用新UI,重启IDEA即可。 从官方网站下载安装即可,没什

    2024年02月08日
    浏览(21)
  • IntelliJ IDEA 2022.3无法正常关闭

    问题:IntelliJ IDEA 2022.3无法正常关闭。 原因:安装最新版本的IDEA时,IDEA会自动同步电脑上老版本IDEA里安装过的插件,如果安装了IDE Eval Reset插件,则会导致最新版IDEA无法正常关闭, 解决方案:卸载最新版IDEA里自动同步的IDE Eval Reset插件。

    2024年02月13日
    浏览(42)
  • IntelliJ IDEA 解决无法输入中文问题

    问题描述 输入法没有任何问题,在其他软件中可以正常输入中文。而在IDEA中无法使用中文,即使切换到了中文输入下,还是无法输入中文。 tips 检查 IntelliJ IDEA 设置:确保您在 IntelliJ IDEA 中正确配置了中文输入法。在 IntelliJ IDEA 中,您可以通过转到“File”“Settings”(Wind

    2024年02月04日
    浏览(27)
  • IntelliJ IDEA 2023.2社区版插件汇总

    参考插件帝:https://gitee.com/zhengqingya/idea-config/ IDEA插件市场:https://plugins.jetbrains.com/ 突发小技巧:使用插件时要注意插件的版本兼容性,并根据自己的实际需求选择合适的插件。同时,不要过度依赖插件,保持简洁和高效的开发环境才是最重要的。 顾名思义就是配置tomcat的,

    2024年02月14日
    浏览(45)
  • IntelliJ IDEA 2023安装教程【Windows系统】

    目录 一、确认JDK 二、安装IntelliJ IDEA 三、测试环境 四、实用插件安装 1、打开命令提示符,输入如下命令查看是否有JDK 2、如果没有的话请参考这篇文章的第一节 安装JDK 1、进入官网,选择操作系统,点击“Download”,我这里下载的是专业版,也可以下载右侧的社区版(如果

    2024年02月01日
    浏览(21)
  • IntelliJ IDEA 2023.2.1 修复版本日志

    我们刚刚发布了 v2023.2 的第一个错误修复更新。 您可以从 IDE 内部、使用工具箱应用程序或通过快照(如果您使用的是 Ubuntu)更新到此版本。您也可以直接从我们的网站下载。 以下是最新版本中包含的最值得注意的改进和修复的列表: 我们已经解决了主工具栏仅出现在第一

    2024年02月11日
    浏览(22)
  • intelliJ idea 2023 配置Tomcat 8教程

    本教程是在Tomcat 8已经在本机上安装好的基础上进行的,在intelliJ建立项目时没有使用maven框架,并且会在项目里面建立模块,不建立模块的操作会简单一点,但操作类似。 1 新建项目和模块 1.1 点击new project新建一个项目project 起一个项目名称,并选择1.8的jdk,点击create 1.2 删

    2024年02月07日
    浏览(31)
  • IntelliJ IDEA 2023.2 新版本,拥抱 AI

    IntelliJ IDEA 近期连续发布多个EAP版本,官方在对用户体验不断优化的同时,也新增了一些不错的功能,尤其是人工智能助手补充, AI Assistant ,相信在后续IDEA使用中,会对开发者工作效率带来不错的提升。 以下是官方对 AI Assistant 的介绍和说明: 生成式人工智能和大型语言模

    2024年02月15日
    浏览(95)
  • IntelliJ IDEA 2023.2.1 Android开发变化

    IntelliJ IDEA 2023.2.1之前的版本, Empty Activity 是指 Empty View Activity ,而现在 Empty Activity 是指 Empty Compose Activity ,另外多了一个 Empty View Activity 的选项 这表明官方推荐使用 Compose 这种声明式的编程方式来描述UI,命令式的 View 即将成为过去式 建议使用如下方式创建项目

    2024年02月10日
    浏览(19)
  • 2023最新IntelliJ IDEA 激活至2099永久教程

    本教程适用于idea所有版本,并支持目前最新的2023.2.1版本。直接激活到2099年,支持windows、mac、linux。本文先讲windows,mac和linux的跟win的激活方式大差不差。 如果已经有了idea,想激活到2099的直接看步骤5 需要的小伙伴,关 注公 众号: 前端实验室 ,回复: bbbb222  , 即

    2024年02月09日
    浏览(24)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包