IDEA 자체 오류를 해결하는 방법은 무엇입니까? | IntelliJ IDEA 2023.1.4에서 프로젝트 Maven 모듈을 새로 고칠 수 없는 문제를 예로 들어

이 문제는 2023년 7월 26일에 발생했습니다. 당시에는 여전히 IDEA 2023.1.4였기에 아직 글이 완성되지 않았고, IDEA 2023.2는 7월 27일에 자동으로 업데이트되었습니다. 문제가 해결된 것으로 추정됩니다.
따라서 이 글에서는 IDEA 자체 오류 보고의 문제 해결 방법에 대해서만 언급합니다.

회피/해결책

먼저 문제를 처리하는 방법에 대해 이야기하겠습니다.

IDEA 설정이 Maven 래퍼에서 내장 Maven을 사용하도록 변경되었습니다.
여기에 이미지 설명 삽입

문제 해결 단계

Maven 프로젝트 모듈이 조정된 후 IDEA가 새 모듈을 올바르게 식별하지 못함

프로젝트의 Maven 모듈에 약간의 조정이 있으며 새 데이터베이스 모듈이 고정 장치 아래에 추가됩니다. 일반적으로 IDEA는 새 모듈을 자동으로 인식하고 삭제된 모듈을 자동으로 제거합니다. 그러나 새로 추가된 데이터베이스 모듈은 소스코드에 추가되지 않았으며, 삭제된 모듈은 여전히 ​​모듈 목록에 남아 있습니다.
여기에 이미지 설명 삽입

Maven 명령어를 사용하여 설치하는 것은 정상이나 IDEA가 프로젝트를 빌드할 때 패키지, 클래스를 찾을 수 없는 등의 컴파일 오류가 발생한다.
여기에 이미지 설명 삽입
데이터베이스 모듈의 pom.xml 파일을 확인하십시오. 오류가 없습니다. (그렇지 않으면 Maven 설치 실행에 문제가 발생합니다.)

IDEA가 모든 Maven 프로젝트 다시 로드 실행 시도
여기에 이미지 설명 삽입

실행 후 문제가 해결되지 않았지만 빌드 창에 오류가 보고되었습니다.

여기에 이미지 설명 삽입
이 오류에는 세부 정보가 없습니다.

캐시를 지우고 다른 방법으로 문제를 해결할 수 없습니다.
여기에 이미지 설명 삽입

IDEA에서 오류를 보고했지만 문제가 해결되지 않았으므로 특정 오류가 무엇인지 알 수 있는 방법을 찾아야 합니다.

IDEA 로그 확인

도움말 메뉴에서 직접 열거나 작업 창을 통해 탐색할 수 있는 다양한 방법으로 IDEA 로그를 찾을 수 있습니다.
여기에 이미지 설명 삽입

Linux에서 IDEA 로그를 직접 추적할 수 있으며 다른 플랫폼에서는 IDEA 로그 파일을 수동으로 열어야 할 수 있습니다.
여기에 이미지 설명 삽입

빌드 창에서 발생한 예외를 검색 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디렉토리가 존재하지 않으며 .m2Maven 구성을 디렉토리 외부에 배치한 적이 없기 때문일 수 있습니다.

Maven 구성 확인

프로필이 지정되지 않았습니다.
여기에 이미지 설명 삽입

사용이 체크되어 있지만 .mvn/maven.confg경로 파일이 존재하지 않습니다.
여기에 이미지 설명 삽입

IDEA는 존재하지 않는 경로를 어디서 얻었습니까?

IDEA의 YouTrack 검색(GitHub 문제와 유사)

실제로 누군가 동일한 문제를 보고했으며 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 자체를 확인하는 문제는 평소와 크게 다르지 않다.

  • 구체적인 이유를 찾으려면 로그를 확인하십시오.
  • 이슈를 확인하여 비슷한 문제나 해결 방법이 있는지 확인하고 비슷한 문제가 없으면 새로운 문제를 제기하십시오.
  • 관심 있는 분들은 스스로 심도 있게 조사할 수 있습니다.

추천

출처blog.csdn.net/wu_weijie/article/details/131942527