우유맛기분
10
2021-04-16 01:12:11
1
127

(초보)404 오류 발생 원인과 해결방법이 궁금합니다.



분명 몇분전까지 잘되던 소스가 다시 빌드하니까 이렇게 떴습니다.

구글링으로 최대한 패치값 설정하고 JRE도 똑같이 맞췄습니다.


이 곳 질문중에서 댓글로 사이트 주소 달라주신거 보고 들어가서 따라했는데도 동일한 오류가 발생합니다.


이클립스 IDE 재설치했으며 톰캣도 재설치했습니다.


어떻게 해서 고칠 수 있을까요???

0
  • 답변 1

  • RWB
    575
    2021-04-16 09:09:47 작성 2021-04-16 09:16:21 수정됨

    여러 시도를 해봐도 진전이 없다면, 이 내용을 한 번 확인해보세요.

    환경변수에서 JAVA_HOME이랑 JRE_HOME이 둘 다 있을 경우, Tomcat은 JRE_HOME을 우선해서 바라봅니다.


    문제는 JAVA_HOME과 JRE_HOME의 버전이 서로 다를 경우 입니다.

    JAVA_HOME의 JAVA 버전이 14, JRE_HOME의 버전이 1.8이라 가정한다면 아래와 같은 현상이 발생합니다.


    JAVA_HOME은 JDK의 경로이고, JRE_HOME은 JRE의 경로입니다.

     JDK는 JRE와 달리 JAVA 개발도구로써, JAVA 컴파일이 가능하나, JRE는 컴파일은 불가능하고 컴파일된 class를 실행만 할 수 있습니다.


    JAVA class 컴파일 -> JAVA_HOME의 14 버전으로 빌드

    Tomcat 구동 -> JRE_HOME의 1.8 버전으로 구동


    이렇게 되면, 14버전으로 컴파일된 클래스를 1.8로 구동한 톰캣이 읽을 수가 없어 디플로이에 실패합니다.

    톰캣 구동 후 첫 접근 시 500에러가 뜨며, 디플로이에 실패하여 곧바로 404에러가 뜨게 됩니다. 500에러에 버전오류가 명시되어 있으나, 곧바로 의미없는 404 오류가 뜨게 되어 Fiddler나 개발자도구의 네트워크를 자세히 보지 않으면 모릅니다.


    질문자분 현상이 꼭 이와 같을 순 없겠으나, 동일한 소스를 빌드하는 과정에서 생긴 일이라고 하시니 참고해보시기 바랍니다.

  • 로그인을 하시면 답변을 등록할 수 있습니다.