tomcat 9 (servlet4.0, jdk1.8) 에 쓰던 어플리케이션을 Jeus7에 배포하면 에러가 나는 이유
2021. 5. 14. 11:46ㆍjava/WEB WAS
728x90
반응형
개요
Tomcat 9에서 쓰던 어플리케이션을 Jeus7에서 Deploy하려다 보니 JeusServer.log 파일에 아래와 같은 오류가 발생한다.
Cannot find the declaration of element 'web-app' |
원인은 JEUS 7 은 servlet 3.0까지 지원하는데 web.xml 파일에 servlet 4.0을 선언하고 어플리케이션을 디플로이 하려다 보니 생기는 오류였다.( tomcat 9는 servlet 4.0 지원)
결론적으로 서블릿 버전이 다르기 때문이다.
jeus7에서 정상적으로 돌아가는 웹어플리케이션은 서블릿 2.5 or 3.0, jdk1.7 기반이어야 한다.
결론적으로 톰캣 7에서 돌아가는 소스여야한다.
각 servlet 버전별 web.xml 스키마 헤더
1. servlet 4.0
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0"> |
2. servlet 3.1
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> </web-app> |
3. servlet 3.0
<?xml version="1.0" encoding="UTF-8"?> http://java.sun.com/xml/ns/javaee"</web-app xmlns=" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0"> </web-app> |
4. servlet 2.5
<?xml version="1.0" encoding="UTF-8"?> <web-app id="servlet-2_5" version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> </web-app> |
5. servlet 2.4
<?xml version="1.0" encoding="UTF-8"?> <web-app id="servlet-2_4" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> </web-app> |
6. servlet 2.3
<?xml version="1.0" encoding="UTF-8"?> http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> </web-app> |
7. servlet 2.2
<?xml version="1.0" encoding="UTF-8"?> http://java.sun.com/j2ee/dtds/web-app_2_2.dtd"> <web-app> </web-app> |
** 2.4 부터는 DTD(Document Type Definition)를 사용하지 않고 xsd(XML Schema Definition)로 변경되었네요
728x90
반응형
'java > WEB WAS' 카테고리의 다른 글
jeus 에서 라이브러리 로딩순서 바꾸기 (0) | 2021.08.20 |
---|---|
[JEUS] ClassLoader(Classloading) 및 Class 동적반영 (0) | 2021.08.19 |
jeus 7 application classloader 라이브러리 읽는 순서 변경 (0) | 2021.08.18 |
자바 서블릿 컨테이너 버전 - 제우스, 톰캣, 서블릿 버전 비교 (0) | 2021.05.14 |
[WAS] 분산 시스템의 소개 (Jeus, WebtoB) (0) | 2021.04.28 |