공통컴포넌트 추가 설치후 서버실행 오류
- 작성자 :
- J*
- 작성일 :
- 2025-01-20 12:48:03
- 조회수 :
- 264
- 구분 :
- 공통컴포넌트 / 4.1
- 진행상태 :
- 완료
Q
아래의 상황으로 관련 오류 조치를 다해봤는데 안되서 문의 드립니다.
○ 상황
- egov 홈페이지 기반 커스텀 프로젝트 운영중 암호화/복호화 로직이 필요하여,
egov 이클립스에서 프로젝트 우클릭하여 공통컨포넌트 4.1>암호화>복호화 설치함. (소스만 하고 db쪽 스키마는 실행하지 않음.)
- 이후 프로젝트내 각종 오류들 (주로 클래스 파일없거나 그런오류) 다 잡고.
- web.xml 기존 백업해둔거 위주로 작업하고.
- 서버 실행시 아래와 같은 오류 발생.
○ 해봤던 조치사항
1. 서버 클린 : Servers > Tomcat > Clean & Clean Tomcat Work Directory
2. 프로젝트 클린 : Menu > Project > Clean
3. 메이븐 업데이트 : Project Explorer > 프로젝트 우클릭 > Maven > Update Project
4. 로컬 Repository 경로의 파일을 삭제 후 개발환경을 재시작 및 Maven > Update Project
==> 이렇게 해봤는데 안됨.
<오류메세지>
SEVERE: 자식 컨테이너를 시작 중 실패했습니다.
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]]을(를) 시작하지 못했습니다.
상세오류 메세지는 첨부파일 참조
○ 상황
- egov 홈페이지 기반 커스텀 프로젝트 운영중 암호화/복호화 로직이 필요하여,
egov 이클립스에서 프로젝트 우클릭하여 공통컨포넌트 4.1>암호화>복호화 설치함. (소스만 하고 db쪽 스키마는 실행하지 않음.)
- 이후 프로젝트내 각종 오류들 (주로 클래스 파일없거나 그런오류) 다 잡고.
- web.xml 기존 백업해둔거 위주로 작업하고.
- 서버 실행시 아래와 같은 오류 발생.
○ 해봤던 조치사항
1. 서버 클린 : Servers > Tomcat > Clean & Clean Tomcat Work Directory
2. 프로젝트 클린 : Menu > Project > Clean
3. 메이븐 업데이트 : Project Explorer > 프로젝트 우클릭 > Maven > Update Project
4. 로컬 Repository 경로의 파일을 삭제 후 개발환경을 재시작 및 Maven > Update Project
==> 이렇게 해봤는데 안됨.
<오류메세지>
SEVERE: 자식 컨테이너를 시작 중 실패했습니다.
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: 구성요소 [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/]]을(를) 시작하지 못했습니다.
상세오류 메세지는 첨부파일 참조
환경정보
-
- OS 정보 : window
- 표준프레임워크 버전 : 4.1
- JDK(JRE) 정보 : 1.8
- WAS 정보 : tomcat9
- DB 정보 : oracle
- 기타 환경 정보 :
A
안녕하세요.
표준프레임워크 센터입니다.
<오류 메시지>
Caused by: java.lang.NullPointerException
at egovframework.com.cmm.config.EgovWebApplicationInitializer.onStartup(EgovWebApplicationInitializer.java:68)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174)
EgovWebApplicationInitializer 클래스는 사용자 인증 권한처리를 분리(session, spring security) 하기 위해서
web.xml의 기능을 Servlet3.x WebApplicationInitializer 기능으로 처리하는 역할을 합니다.
이 지점에서 Null이 떴다면, 오류의 원인은 권한처리를 분리한 후에 그 권한처리에 필요한 클래스가 생성되지 않았기 때문인 것으로 추측됩니다.
globals.properties 파일의 Globals.Auth 값에 따라 EgovWebApplicationInitializer 클래스에서 로그인 방식이 분기되고,
src/main/resources/egovframework/spring/com/context-egovuserdetailshelper.xml 파일에서 인증 방식에 따라 bean이 생성됩니다.
해당 파일들의 설정과 관련 내용들을 살펴보시기 바랍니다.
또한 표준프레임워크의 Security 설정 간소화는 아래 링크에서 확인 가능합니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:server_security:xmlschema
감사합니다.
표준프레임워크 센터입니다.
<오류 메시지>
Caused by: java.lang.NullPointerException
at egovframework.com.cmm.config.EgovWebApplicationInitializer.onStartup(EgovWebApplicationInitializer.java:68)
at org.springframework.web.SpringServletContainerInitializer.onStartup(SpringServletContainerInitializer.java:174)
EgovWebApplicationInitializer 클래스는 사용자 인증 권한처리를 분리(session, spring security) 하기 위해서
web.xml의 기능을 Servlet3.x WebApplicationInitializer 기능으로 처리하는 역할을 합니다.
이 지점에서 Null이 떴다면, 오류의 원인은 권한처리를 분리한 후에 그 권한처리에 필요한 클래스가 생성되지 않았기 때문인 것으로 추측됩니다.
globals.properties 파일의 Globals.Auth 값에 따라 EgovWebApplicationInitializer 클래스에서 로그인 방식이 분기되고,
src/main/resources/egovframework/spring/com/context-egovuserdetailshelper.xml 파일에서 인증 방식에 따라 bean이 생성됩니다.
해당 파일들의 설정과 관련 내용들을 살펴보시기 바랍니다.
또한 표준프레임워크의 Security 설정 간소화는 아래 링크에서 확인 가능합니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.1:fdl:server_security:xmlschema
감사합니다.