[전자정부 프레임워크] 실행환경 최신버전(v3.9.0)
* 본 포스팅은 https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rtea3.9:light 을 참고하여 전자정부 프레임워크 실행환경 v3.9.0을 설치하였음을 밝힙니다.
* 본 포스팅을 무단 복제하거나 배포하지 마시기 바랍니다.
(게시글 최상단에 본 블로그 출처를 밝히시면 포스팅은 가능합니다.)
https://pit-a-chaen.tistory.com/1
https://pit-a-chaen.tistory.com/2
앞의 두 게시물을 참고하여 개발환경을 설치해줍니다.
1. 실행환경 다운로드
https://www.egovframe.go.kr/home/main.do
표준프레임워크 포털 eGovFrame
전자정부 표준프레임워크 서비스 EGOVERNMENT STANDARD FRAMEWORK 지속적인 품질관리 및 고도화를 통해 경쟁력 향상기술지원 및 교육 등을 통한 확산 보급
www.egovframe.go.kr
다운로드>실행환경>3.x다운로드
실행환경 3.10버전을 Full/Minimun 중 택 1하여 받아줍니다.
본 게시물에서는 용량이 적은 Minimun3.10.0을 선택하였습니다.
>>Full로 받아서 기본예제실행 시, datasource관련 에러가 납니다,, ㅎㅎ DB연동을 안해서 나는 에러로 추측하는데,
추후에 진행시 관련 포스팅 작성하도록 하겠습니다.
2. 실행환경 적용
https://pit-a-chaen.tistory.com/2
에서 진행했던 예제에 이어서 진행하도록 하겠습니다.
프로젝트 우클릭>import 을 클릭해줍니다.
Import창에서 Archive File을 선택해줍니다.
Browse를 클릭하여 실행환경 다운로드 받았던 파일을 넣어줍니다.
library를 넣어줄 곳을 지정해줍니다.
project>src>main>webapp>WEB-INF>lib
다음과같이 설정이되었다면 Finish를 눌러 적용해줍니다.
실행환경의 경우에는 Maven에 의존없이 돌아가므로, Maven 설정을 끊어줍니다.
프로젝트 우클릭>Maven>Disable Maven Nature
해당버튼을 누르면 프로젝트 모양이 다음과같이 변하는 것을 볼 수 있습니다.
이때 소스코드에 에러가 많이 출력되는데 당황하지않고,
프로젝트 우클릭> Properies 를 클릭하여 설정으로 들어와 Java Build Path를 클릭합니다.
Add Library>Web App Libraries를 선택합니다
Next> 프로젝트 지정 후 Finish
web library가 추가된상태로 Apply를 눌러적용해줍니다.
설정이 모두 적용되면 Ctrl+F11 을 눌러 실행시켜보도록하겠습니다.
저같이 에러가 출력되는 분들도 계실 것같은데,
가장상단의 에러를 보면 sampleService를 못찾는 에러를 볼 수 있습니다.
10:28:52.810 [localhost-startStop-1] ERROR org.springframework.web.servlet.DispatcherServlet - Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'egovSampleController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sampleService' available at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:321) ~[spring-context-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1269) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:551) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:481) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:312) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:308) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:761) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) ~[spring-context-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) ~[spring-context-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:668) ~[spring-webmvc-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:634) ~[spring-webmvc-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:682) ~[spring-webmvc-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:553) ~[spring-webmvc-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:494) [spring-webmvc-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:171) [spring-webmvc-4.3.22.RELEASE.jar:4.3.22.RELEASE] at javax.servlet.GenericServlet.init(GenericServlet.java:158) [servlet-api.jar:3.1.FR] at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1152) [catalina.jar:8.5.70] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1097) [catalina.jar:8.5.70] at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:990) [catalina.jar:8.5.70] at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4952) [catalina.jar:8.5.70] at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5266) [catalina.jar:8.5.70] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183) [catalina.jar:8.5.70] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1427) [catalina.jar:8.5.70] at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1417) [catalina.jar:8.5.70] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_202] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_202] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_202] at java.lang.Thread.run(Thread.java:748) [?:1.8.0_202] Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sampleService' available at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:687) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1218) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:284) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:275) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.autowireResource(CommonAnnotationBeanPostProcessor.java:522) ~[spring-context-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.getResource(CommonAnnotationBeanPostProcessor.java:496) ~[spring-context-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor$ResourceElement.getResourceToInject(CommonAnnotationBeanPostProcessor.java:627) ~[spring-context-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.annotation.InjectionMetadata$InjectedElement.inject(InjectionMetadata.java:171) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) ~[spring-beans-4.3.22.RELEASE.jar:4.3.22.RELEASE] at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:318) ~[spring-context-4.3.22.RELEASE.jar:4.3.22.RELEASE] ... 29 more |
이 에러는 build path 에서 resource가 빠진경우에 발생하는것인지 확인합니다.
다음과같이 되어있다면 add를 눌러줍니다.
resource폴더를 선택해준뒤
path를 잡아줍니다.
다시 실행해보면 정상적으로 동작함을 확인하실 수 있습니다.
여기까지 실행환경 적용이였습니다.
추후 게시글로 DB연동에 대해 작성하도록 하겠습니다!
감사합니다^^~~