[Intellij Ultimate] Usage of API documented as @since ...+ 에러 해결하기

식빵·2023년 8월 12일
0

intellij

목록 보기
10/15

jdk 버전 세팅을 수동으로 바꾸기

오늘 개발 공부를 하다가 인텔리제이에서 이상한 문구를 뱉어내기 시작했습니다.

이거는 인텔리제이 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 를 클릭하고 아래처럼 세팅합니다.

  • Source 탭을 클릭하고 Language Level 을 앞서 지정했던 jdk 버전과
    동일한 버전을 지정하거나...
  • Project default 로 설정해도 됩니다.

ctrl + alt + s 를 눌러서 Settings 창을 열어주고, Java Compiler 라는 메뉴 버튼을 클릭합니다. 그리고 나서 Target bytecode version 선택창에서 앞서 지정했던 jdk 버전과 똑같이 맞춰줍니다.



(참고) maven 을 사용할 경우

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

끝!

profile
백엔드를 계속 배우고 있는 개발자입니다 😊

0개의 댓글