Spring

[Spring MVC 강의] 강의를 시작하며 마주친 오류 : 버전맞추기, 포트문제

anjoo24 2024. 7. 12. 23:55

Contents

     

    설치 방법은 강의 자료에 있음

    설치후 발생한 오류에 강의는 못듣고 시간만 잔뜩 잡아먹힘😔

    1번 오류

    Dependency requires at least JVM runtime version 17

    A problem occurred configuring root project 'servlet'.

    Could not resolve all artifacts for configuration 'classpath'. Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.4.0. Required by: root project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.4.0 Dependency requires at least JVM runtime version 17. This build uses a Java 8 JVM.

     

    이런 오류 발생,

    아니 오류의 저 제일 아랫줄 때문에 자바 JDK랑 Gradle 버전이 안맞는줄 알았지요?

    아니었지롱

    내 자바의 버전은 21. 최신이죠.

    Gradle은 8.11.1을 설치했고

    자바 21은 Gradle 8.5이상이면 지원이 되는데요?

    응 근데 넌 안돼

     

    내 컴퓨터에는 자바8인 구 버전도 깔려있는 상태라서

    일단 Setting랑 Project Structure에서 jdk를 뭘 잡고 있는지 확인

    8을 잡고 있는 것도 있어서 → 설정에서 다 21로 변경완료

    하지만

     

    Unsupported Java

    Unsupported Java 오류가 계속 뜹니다.

    진지하게 자바 버전을 낮춰야하나 고민하던 중 GPT 왈, 그것은 환경변수 문제이다.

    해서 확인해보니, 내 환경변수는 %JAVA_HOME%\lib 였고

    %JAVA_HOME%\bin로 바꾸라고 해서 바꿔줌.

    뭐가 차이인지는 지금 지피티로 공부하고 있으니까 모르는척 해 달라

     

    블로그 글쓰다가 알아옴!  → 나중에 환경변수에 대한 것도 정리해 봐야 겠다.

      bin lib
    역할 실행 파일 저장 라이브러리 파일 저장
    내용 java, javac, javadoc 등 실행 도구 rt.jar, tools.jar 등 핵심 라이브러리
    환경변수 연결 PATH에 추가해야 함 환경변수 연결 필요 없음
    개발자 사용 명령어를 직접 실행하는 데 사용 자바 프로그램이 내부적으로 참조

     

     

    그리고 또 보니까 설치할 때 내가 복붙을 잘못했는지

    jdk21이 다른 파일 경로로 두 개가 깔려 있었고,

    인텔리제이의 설정들이 다른 경로의 jdk를 잡아서 문제가 되었던 듯?

    그리고 이게 1번 오류가 발생한 진짜 문제였던 것 같다.

     

    다 통일시켜주고 나니까

    2번 오류

    on port 8080 or configure this application to listen on another port

    Action:

    Identify and stop the process that's listening on port 8080 or configure this application to listen on another port.

    될 줄 알았지????

    사실 인텔리제이 콘솔창에 오류가 백만줄 나왔다.

    그래서 지피티한테 뭐가 문제인지 찾아달라고 하니 포트 문제였다.

    스프링 부트가 기본으로 사용하는 포트는 8080!

    하지만, 다른데서 사용 중

    taskkill 하려고 했는데

    안됌

    이건 또 왜 안될까😢

     

    어디서 8080을 쓰고 있길래 안되나 궁금하긴 했는데

    (아마도 이전 학원에서 한 프로젝트가 원인일거라 생각된다)

    원인을 하나하나 찾다간 나는 공부 진도를 나가지 못한다 싶어서

     

    일단 그냥

    src/main/resources/application.properties 여기 가서 server.port=8081

    을 넣어서 포트를 8081로 바꿔줌

    그러고 나니까 드디어 된다!!!!!!!

    오류 해결에만 1시간이 넘게 걸림!

    🤗