iFun
616
2015-07-24 14:20:20
7
3929

이클립스에서 톰캣은 어떻게 .class를 바라보나요?


먼저 이클립스에서 다이나믹 웹프로젝트를 생성하고

프로젝트를 우클릭 한 다음 configure에서 컨버트 투 메이븐 프로젝트를 통해

 

메이븐 프로젝트로 바꿨습니다. 이 이후에 빌드 후 실행을 하게되면 

jsp 파일들은 src/main/WebContent/WEB-INF/view 아래에 있고,

 클래스 파일들은 target/classes에 들어있는데

 

톰캣은 어떻게 이 디렉토리 구조를 보고 실행을 시킬까요?

제 생각에는..  jsp파일은 src 밑에 있고  클래스 파일은 target 밑에 들어가는데,

이 구조를 톰캣에 실행시키려면 흔히 알고 있는

 

/webapp/WEB-INF/view 라는 구조를 만들어서 JSP를 넣고 

/webapp/WEB-INF/classes라는 디렉토리 밑에 클래스 파일을 넣어야지

완벽하게 배포 가능한 프로젝트가 생성되는 것 아닌가요?

 

도대체 톰캣은 src밑에 있는 jsp와 target 밑에 있는 클래스 파일을

어떻게 바라보고 로컬에서 실행을 시키는지 궁금합니다.

만약 톰캣이 따로 디렉토리 구조를 만들어서 저장한다면 그 경로가 어디있는지도 궁금하네요 

0
0
  • 답변 7

  • 뱅만도리
    351
    2015-07-24 14:31:35

    이클립스상으로는 위에서 말씀하신 target/classes에 있는거로 보이는데

    이클립스상에서 톰켓이 구동되면 워크스페이스로 잡은 폴더 내부 .metadate 폴더안에

    war파일로 만들어서 압축을 풀었을때 같은 형태로 배포가 됩니다.

    이클립스에서 톰켓 구동하면 상단부에 잘 보면 아래와 같은 경로가 찍힐꺼에요. 

     \워크스페이스폴더\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\웹어플리케이션명

    톰켓이 구동되면서 이 파일들을 바라보고 웹어플이 돌아가게 되는거구요...

    0
  • iFun
    616
    2015-07-24 14:52:35

    dscythe // 그럼 배포된 저 디렉토리 구조를 변경하려면 프로젝트 프로퍼티에서

    Deployment Assembly 설정들을 변경하면 되는 건가요? 

    0
  • 뱅만도리
    351
    2015-07-24 15:13:49

    이클립스에서 만드신 다이나믹웹이던 메이븐프로젝트던 웹어플리케이션으로 만든

    프로젝트명을 오른쪽 클릭해서 Export 하시면 war로 묶여지게 됩니다.

    기본적으로 톰켓이 구동하는 웹어플리케이션은 war파일을 압축풀면 보실수 있듯이..

    war파일이 가지고 있는 구조여야 인식을 하는걸로 알고 있습니다. 

     

    즉, 이클립스 내에서는 src/main/Webcontent.....  뭐 이런식의 구조로 되있지만

    결국 빌드하게되면 위 뎃글에 말씀드린 워크스페이스 폴더 내부 .metadata 쪽에

     war파일을 압축푼 형태로 저장이되고 이클립스에 추가한 톰켓서버의 server.xml을 보시면

     <context docBase="프로젝트명" path="/" source="org.eclipse.jst.jee.server:프로젝트명">

    이런식으로 소스를 참고하게끔 됩니다. 


    0
  • iFun
    616
    2015-07-24 15:41:12

    dscythe // 한 가지만 더 질문 드릴께요.

    말씀하신 경로에 보니 war파일 압축 푼 형태로

    웹어플리케이션에 맞는 디렉토리를 생성하는 것은 이해가 갑니다.

    그런데 jsp 파일 경로와 class 경로가 이클립스 상에서

    각기 다른 디렉토리에 있는데 이걸 .metadata 안에

    웹어플리케이션이 동작하도록 디렉토리를 만들게 하는 설정은 어디있는 건가요?

     

     다시 정리하자면, 이클립스 상의 target/classes 경로에 있는 클래스 파일들을

    뭘 보고  .metadata/.plugins/.../WEB-INF  디렉토리에 넣는 걸까요? 

    0
  • 뱅만도리
    351
    2015-07-24 16:52:02

    그거까지는 저도 잘 모르겠습니다.

    이클립스 내부 플러그인들이 자동?으로 설정하는 부분인듯한데...

    별도에 경로를 지정하는 부분이 있다는건 들어본적이 없습니다.

     

    0
  • iFun
    616
    2015-07-24 16:59:19
    dscythe // 성실한 답변 감사합니다!! 많은 도움 됬어요
    0
  • 으악으악
    655
    2017-01-20 00:18:34
    저도 궁금증이 풀렸네요. 감사합니다!
    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.