기술지원 문의
web.xml 질문 입니다.
궁금이 / 2008-05-07 11:35
현재 사용하고 있는 레진은 2.1.10입니다.
궁금한 사항은
WEB-INF/web.xml파일을 열어 보면
<classpath id=WEB-INF/classes source=WEB-INF/classes compile=true/>
이것이 똑같은게 3개나 존재 합니다.
위의 것이 클래스패스 지정해 주는 것인데..
아주 자세한 설명좀 해주시면 않되나요??
초보라서 왜 저것이 3개나 있고... 또 정확히 무엇을 의미하는것인지...
id와 source, compile는 무엇인지...
compile가 false일때와 true일때 무엇이 다른 것인지...
정말 궁금해 미치겠습니다...
제발 부탁 드립니다...
[답변]web.xml 질문 입니다.
관리자 / 2008-05-08 10:08
안녕하세요. 기술지원팀입니다.
다음은 레진 2.X 대 레진에서 다음과 같은 태그는
<web-app>
<classpath id=WEB-INF/classes source=WEB-INF/classes compile=true/>
간단히 설명하자면
WEB-INF/classes 및에 소스 파일이 있다면 컴파일 하여 WEB-INF/classes 및에 추가하여 classpath 로 추가한다는 뜻입니다.
또한 저러한 태그가 중복적으로 나타나는 이유는
하나의 web-app는 서로 다른 구성을 가지기 때문입니다.
같은 태그가 3번 보였다면 해당 서버의 web-app가 3개이상이라는 뜻으로 해석됩니다.
web-app는 서로 독립적이기 때문에서 각각 web-app의 설정또한 독립적이라고 보시면 됩니다.
결론적으로 다음과 같은 태그
<classpath id=WEB-INF/classes source=WEB-INF/classes compile=true/>
하나의 web-app 에 특별한 classpath 를 추가 할때 쓰이는 태그입니다.
다음은 레진 2.X 대 버전에서 classpath 설정에 관한 세부 설정입니다.
id = 추가할 classpath 의 경로입니다.
source = 소스 디렉토리의 경로입니다. 기본값은 id 경로와 일치합니다.
compile= 자동 컴파일 여부를 설정합니다. true 라면 서버 기동시 자동으로 소스를 컴파일하여 id 경로에 클레스를 만들고 classpath 를 추가합니다. false 라면 소스를 컴파일 하지 않고 id 에 설정한 클레스들만 classpath에 추가합니다. 기본값은 true 입니다.
encoding = 컴파일시 인코딩을 결정합니다. 기본적으로 javac 의 인코딩 기본값을 따릅니다.
args = 컴파일시 javac 의 args를 추가 합니다.
다음은 간단한 예입니다
<classpath id=WEB-INF/classes source=/home/ferg/ws/src/>
<classpath id=/home/test/library/classes/>
위의 설정은 /home/ferg/ws/src/ 에 저장된 *.java 를 컴파일하여 WEB-INF/classes
폴더에 *.calss 파일을 생성 후 classpath 로 추가시킵니다.
/home/test/library/classes 및에 위치한 *.class 파일 또한 classpath 로 추가시킵니다.
그러나 기본적으로 해당 web-app 및 WEB-INF/classes 및 WEB-INF/lib 는 명시적으로 지정하지 않아도 기본적으로 컴파일되고 classpath를 추가합니다.
해당 태그는 2.X 대에서만 적용된는 태그 이면 3.0.X 버전에서는 위와같은 설정의 태그가 변경되었습니다. 착오 없으시길 바랍니다.
다음은 3.0.X 버전에서 class와 lib 를 추가하는 방법입니다.
<web-app> <class-loader> <compiling-loader path=\"WEB-INF/classes\"/> <library-loader path=\"WEB-INF/lib\"/> </class-loader></web-app>
또한 레진 2.X 버전은 cacho社에서도 공식적인 지원이 중단된 상태입니다.
감사합니다..
늘 행복하세요 ^_________________^