전자정부 표준프레임워크에서 제공하는
공통컴포넌트 3.7의 미개선 251종을 실행하였는데
맥OS에서 오류가 발생하였다.
java라는 플랫폼이 OS의 특성을 타지 않는다는데 어찌 않될까?
처음엔 의아했는데
Bean의 구동 초기화 순서에 따라 오류가 날수 있다는걸 알게되었다.
* EgovUserDetailsHelper쪽에서 에러가 난다? 인증쪽인데 null이 떨어질리 없는데? 의아한 로그가 찍힌다.
2018-08-02 20:30:15,677 ERROR [egovframework.com.cmm.EgovComExcepHndlr] egovframework.com.sym.bat.service.impl.EgovBatchSchdulServiceImpl.selectBatchSchdulList
java.lang.NullPointerException: null
at egovframework.com.cmm.util.EgovUserDetailsHelper.isAuthenticated(EgovUserDetailsHelper.java:59) ~[classes/:?]
at egovframework.com.sym.log.lgm.service.EgovSysLogAspect.logSelect(EgovSysLogAspect.java:216) ~[classes/:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_161]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_161]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_161]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_161]
* batchScheduler 빈이 초기화가 실패라니? ㅜㅠ 이상하네
2018-08-02 20:30:15,726 ERROR [org.springframework.web.context.ContextLoader] Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'batchScheduler' defined in file [/EGOV/eclipse_neon_egov_macosx/workspace.edu37/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/AllinOne37/WEB-INF/classes/egovframework/spring/com/scheduling/context-scheduling-sym-bat.xml]: Invocation of init method failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1578) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:545) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.2.4.RELEASE.jar:4.2.4.RELEASE]
결론적으로 다음경로의 빈설정이 먼저 초기화 되어야 한다.
classpath*:egovframework/spring/com/context-*.xml
다음 web.xml 파일의 정보를 수정한다.
/src/main/webapp/WEB-INF/web.xml
* 변경전
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:egovframework/spring/com/** /context-*.xml</param-value>
</context-param>
* 변경후
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:egovframework/spring/com/context-*.xml,classpath*:egovframework/spring/com/*/** /context-*.xml</param-value>
</context-param>
정상적으로 기동이 되었다.
참고로 공통컴포넌트 V3.7 신규 50종은 맥OS에서 정상적으로 구동이 되었다.
* 이런 초기 구동 오류 증상은 OpenJDK를 사용할때도 발생할때가 있다고 한다.
그리고 맥OS의 Java Version은 1.8이며 Oracle JDK를 사용하였다.
'전자정부표준프레임워크' 카테고리의 다른 글
표준프레임워크 v4.0 scribejava Kakao OAuth Login API 오류 수정하기 (0) | 2022.08.29 |
---|---|
Spring Boot에서 jar 배포시 jsp 동작하지 않을때 (0) | 2022.08.10 |
[전자정부 표준프레임워크] No bean named 'springSecurityFilterChain' is defined 해결방법 (0) | 2019.01.07 |
macOS에서 전자정부 표준프레임워크 공통컴포넌트(v3.7 50종 신버전) 오류 날때 구동하는 방법 (0) | 2018.08.07 |
전자정부 표준프레임워크 3.1 기반 모바일 웹 매핑 솔루션 (0) | 2015.10.15 |