- Arawn's Dev Blog
- Outsider's Dev Story
- Toby's Epril
- Benelog
- NHN 개발자 블로그
- SK 플래닛 기술 블로그
- OLC CENTER
- 소프트웨어 경영/공학 블로그
- 모바일 컨버전스
- KOSR - Korea Operating System …
- 넥스트리 블로그
- 리버스코어 ReverseCore
- SLiPP
- 개발자를 위하여... (Nextree 임병인 수석)
- "트위터 부트스트랩: 디자이너도 놀라워할 매끈하고 직관…
- Learning English - The English…
- real-english.com
- 'DataScience/Deep Learning' 카테…
- Deep Learning Summer School, M…
- Deep Learning Courses
민서네집
eclipse에서 Web Application 이 시작하지 못하는 이유 본문
< eclipse에서 Web Application 이 시작하지 못하는 경우 >
Tomcat 서버는 정상적으로 실행되었다고 Console 창에 메시지가 나오고,
이클립스의 Console 창에는 에러가 하나도 없는데,
웹 어플리케이션이 시작 못하는 황당한 경우가 있었다.
WebContent 디렉터리에 있는 index.jsp 페이지도 웹 브라우저에서 불러올수 없었다.
원인은 간단했다.
하필이면 Web Project 의 Context Root 가 ROOT 로 되어 있었기 때문...
Context Root 가 ROO 나 ROOT1 으로 되어 있다면 웹어플리케이션은 잘 실행된다.
다른 서버는 잘 모르겠지만 적어도 Tomcat 서버에서는 ROOT 라는 이름은 특별한 용도로 사용된다.
Tomcat 서버는 Context Root 가 '/' 인 경우 ROOT 라는 디렉터리 밑에 있는 파일들을 서비스 한다.
해결 방법은?
Context Root 를 ROOT 에서 당장 다른 것으로 변경하자.
[2013-08-14]
Context root 를 ROOT 로 했는데도, 잘 실행된다.
STS 3.3.0.RELEASE 를 사용하고 있는데, STS 가 버전이 올라가면서 되는 것인지 아니면 내가 JDK 6 에서 JDK 7 로 올려서 그런것인지 잘 모르겠는데, 하옇든 지금은 Context root 를 ROOT 로 했는데도, 잘 실행된다.
http://localhost:8080/ROOT/ 가 아닌 http://localhost:8080/ 으로 접근해야만 한다.
참고로 이클립스에서 .settings 디렉터리 밑에 org.eclipse.wst.common.component 파일의 내용은 다음과 같다.
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="sample-project">
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<property name="java-output-path" value="/sample-project/target/classes"/>
<property name="context-root" value="ROOT"/>
</wb-module>
</project-modules>
[ 2013-08-26]
Context root 가 ROOT 인 상태에서 tomcat 을 실행시키는 방법 -
이클립스의 Servers 뷰에서 Tomcat v7.0 Server at localhost 을 더블클릭.
하단의 두번째 탭 Modules 를 선택해서 마우스로 프로젝트(Module)을 선택하고 Edit 버튼을 클릭해서 Path 를 /ROOT 에서 / 으로 수정한다.
Maven 에서 pom.xml 파일에서 <build><finalName>ROOT</finalName></build> 로 해주어야지 ROOT.war 파일로 만들어지고, Tomcat 서버의 webapps 디렉터리에 놓으면 ROOT 디렉터리로 풀리면서 Context root 가 / 로 웹서비스가 된다.
pom.xml 이 이런 상태에서 이클립스에서 Maven > Update Project 를 하면 Context root 가 ROOT 로 된다.
이런 경우 위처럼 Edit Web Module 에서 Path 를 / 으로 변경해주어야지만 이클립스의 Servers 탭에서 Run 했을때 Context root 가 / 이 되면서 웹어플리케이션을 실행할 수 있다.
'Java' 카테고리의 다른 글
[java] request.getSession(); 값이 null 이 될 수 있다. (1) | 2013.07.29 |
---|---|
[eclipse] github 와 연동하기. (0) | 2013.07.28 |
Java Reflection 설명 잘 된 웹페이지 (0) | 2013.07.22 |
pom.xml 에 ${project.basedir} 사용하기. (0) | 2013.07.16 |
[java] 드라이브의 Free Space 용량 확인하기. (0) | 2013.07.02 |