입력값이 설정해 놓은 형식과 다를때 발생하는 경고문구다.

나같은 경우 Scanner 클래스를 사용할 때 String input = sc.next()으로 설정해 뒀는데 이때 next() 메소드의 경우 띄어쓰기(공백)를

기준으로 문자열을 반환한다.

따라서 해당 코드를 실행하고 문자열을 입력할때 띄어쓰기가 포함된 문장을 입력하면 위와같은 경고문구가 나온다.

따라서 이러한 문제를 해결하려면 next() 메소드가 아닌 nextLine() 메소드를 사용하면 줄바꿈이 일어나기 전까지의 모든 문장을

반환할 수 있다.

같은 경고문구라 하더라도 작성한 코드가 모두 다르기 때문에 본인이 사용한 메서드와 입력값의 형식이 일치하는지 확인해 보면 해결되지 않을까 싶다.

 

코딩을 하려고 파일을 열었는데 File is read-only 말풍선 표시와 함께 수정이 안됐다.

수정불가 파일로 잠겨있나 싶어 오른쪽 아래 자물쇠(Make file read-only)를 확인했는데 이상없이 열려있는 상태였다.

뭐가 문제일까 하고 보니 내가 연 파일명이 .java 가 아닌 .class 라는걸 발견했다.

File is read-only
File is read-only

만약 본인 파일이 자물쇠가 열려있는데도 수정이 안된다면 src 폴더의 java파일을 연게 맞는지 확인해보자

나같은 경우는 크롬 문제가 아닌 Mac 자체의 화면모드가 다크모드였던 경우다. 

따라서 Mac의 화면모드를 라이트 모드로 바꾸면 되는 간단한 문제였는데

방법은 상단의 사과모양을 클릭 -> 시스템환경설정 -> 일반에 들어가면 상단에 라이트모드 다크모드 자동 이렇게 3가지가 있다.

나같은 경우는 자동이라 저녁시간에 다크모드로 바뀐 상태였는데 라이트모드로 바꾸니 모든 사이트에서 밝게 잘 나왔다.

문제

인텔리제이에서 새로운 프로젝트를 생성하고 자바 파일을 만들자마자 실행버튼이 안생기는 오류가 생겼다.

Cannot resolve symbol

메시지를 확인해보니

Cannot resolve symbol 'String'

Cannot resolve symbol 'System' 

라는 기본 라이브러리를 찾지 못한다는 내용의 에러 메시지와

Method 'main()' does not have signature 'public static void main(String[])' 

이라는 경고 메시지가 있었다.

Cannot resolve symbol 에 오류에 대한 원인과 결과를 구글링해 본 결과

JDK 폴더 자체를 삭제했거나, 인텔리제이에 JDK가 설정되어 있지 않으면 생기는 문제라 한다.


해결방법 

Cannot resolve symbol

 

해결방법은 File -> Project Structure 에 들어간다.

Cannot resolve symbol

Project Settings -> Project 의 SDK를 보면 '17' 이 빨간색으로 되어 있는걸 볼 수 있다.

이런 경우는 일치하는 JDK가 존재 하지만 설정 경로에 없는 것이기 때문에 Edit 를 눌러 Platform Settings -> SDKs 로

이동한 후 여기서 해당 이름의 JDK home path 를 다시 설정해주면 된다.

 (만약 경로 설정이 잘못된게 아니라 JDK 자체가 없다면 맨 아래 인텔리제이 자체에서 JDK를 다운받는 방법을 설명해 놨다.)

*SDK와 JDK의 차이

SDK : Software Development Kit 의 약자로 소프트웨어 개발하는 여러 도구들을 의미한다.

JDK : Java Development Kit 의 약자로 자바만을 개발할 수 SDK를 의미한다.

Cannot resolve symbol
Cannot resolve symbol

17(2) java version "17.0.6" 을 해당 결로에 넣어주니 2번째 사진과 같이 Classpath에 파일들이 생기며 17의 빨간색이 사라졌다.

메인 페이지로 돌아가 보면 run 버튼이 다시 생겨있고 문제 없이 실행되는걸 확인 할 수 있다.

Cannot resolve symbol


IntelliJ 에서 JDK를 다운받는 방법

위에서와 같이 File -> Project Structure -> Project Settings -> Project 에서 SDK의 Selction을 눌러준다.

IntelliJ JDK Download

+ Add SDK -> Download SDK 를 누르면 아래와 같은 창이 나오고 원하는 버전을 골라 설치해주면 된다.

IntelliJ JDK Download

 

솔직히 강의만 들어서 오늘 뭐 쓸만한 내용이 없다... TIL을 날마다 쓰는게 아닌 이슈가 생겼을때 쓰는게 맞지 않을까 싶은 생각이든다.

지금 너무 일기장이 되어버린것같아 이게 과연 도움이 될까 싶다.

+ Recent posts