오늘 개발 공부를 하다가 인텔리제이에서 이상한 문구를 뱉어내기 시작했습니다.
이거는 인텔리제이 jdk 버전 세팅이 뭔가 꼬여서 그런 겁니다.
저 같은 경우는 프로젝트 폴더에서 .idea
폴더를 실수로 지운 적이 있는데
그때 뭔가 꼬여버린 거 같습니다.
지금부터 고치는 방법을 알아보겠습니다.
✔ ctrl + shift + alt + s
를 입력해서 Project Structure
팝업을 엽니다.
✔ 팝업 좌측 메뉴에서 Project Settings > Project
를 클릭하고 아래처럼 세팅합니다.
SDK
@since ??+
문구에 나온 ??
버전보다 높거나 같은 jdk
버전 선택@since 15+
라고 나와서 jdk 17
로 세팅Language Level
: SDK default
로 지정✔ 팝업 좌측 메뉴에서 Project Settings > Modules
를 클릭하고 아래처럼 세팅합니다.
Language Level
을 앞서 지정했던 jdk 버전과Project default
로 설정해도 됩니다.✔ ctrl + alt + s
를 눌러서 Settings 창을 열어주고, Java Compiler 라는 메뉴 버튼을 클릭합니다. 그리고 나서 Target bytecode version 선택창에서 앞서 지정했던 jdk 버전과 똑같이 맞춰줍니다.
pom.xml 에서 java version 도 알맞게 적용해야겠죠?
PS: 이 글에서 사용되는 예시 프로젝트는
Spring boot
기반 프로젝트여서
위 그림처럼<java.version>
태그만 설정해주면 됩니다.
하지만 혹여 자신이 spring boot 를 쓰는 환경이 아니면 아래처럼 설정하셔야 합니다.<properties> <java.version>8</java.version> <maven.compiler.source>${java.version}</maven.compiler.source> <maven.compiler.target>${java.version}</maven.compiler.target> <!-- 참고로 아래처럼 인코딩도 설정도 해주면 좋습니다! --> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> </properties>
그리고 정말 주의할 게 pom.xml
파일에 있는 <plugins>
태그 내부에
maven-compiler-plugin
태그가 있고, 그 안에 버전 정보가 적혀있을 수 있습니다.
이건 앞서 <properties>
태그 내에서 지정했던 jdk 버전을 무시해버리고
자기들이 지정한 jdk 버전을 적용시켜 버립니다.
그러므로 maven-compiler-plugin
플러그인 부분은 주석처리를 해줍시다.
이후에는 꼭 Maven Update 버튼을 클릭해줍니다.
추가적으로 기존에 잘못된 버전으로 컴파일, 빌드된 파일들이 문제가 될 수 있으므로,
maven clean 까지 해줍시다.
intellij
에서 ctrl
을 2번 연타하면 Run AnyThing
이라는 명칭의
팝업이 나옵니다. 해당 팝업의 입력란에 아래와 같이 입력하고 Enter
를 칩니다.
mvn clean
끝!