이전 버전 STATIC이 설치되어 있는 환경에서 4.5.2로 Update 했을 때 생길 수 있는 문제입니다.

일반적으로 STATIC 설치 가이드의 STATIC 업데이트 지침대로 Update를 수행해야 합니다. 그렇게 하지 않는 경우 이전 STATIC 버전의 파일이 일부 남아있어 4.5.2와 호환이 되지 않는 문제가 발생할 수 있습니다.

다음은 services.json의 파일 내용의 예시입니다.

이전 버전의 파일을 활용하기 위해서는 표시가 있는 부분의 내용에 유의하여 4.5.2에 알맞게 수정해야 합니다.

만약 올바르지 않은 값이 있을 경우 Launcher가 정상적으로 실행되지 않습니다.

해당 문제가 발생한 경우 Launcher Log에 다음과 유사한 문구가 포함된 Error Message가 생성됩니다.

0000-00-00 00:00:00 [ERROR] [SpringApplication.java:858] reportFailure : Application run failed
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'servicesController': Unsatisfied dependency expressed through field 'launcherService'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'launcherService' defined in URL [jar:file:/C:/Users/cs-static/AppData/Local/Suresofttech/STATIC%20Launcher%20LITE/launcher-service.jar!/BOOT-INF/classes!/com/codescroll/launcher/service/LauncherService.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.codescroll.launcher.service.LauncherService]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: No enum constant com.codescroll.launcher.core.model.ServiceType.REGACY
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:596)
	at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1411)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:592)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:843)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:877)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
	at com.codescroll.launcher.LauncherServiceApplication.main(LauncherServiceApplication.java:36)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
	at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
	at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'launcherService' defined in URL [jar:file:/C:/Users/cs-static/AppData/Local/Suresofttech/STATIC%20Launcher%20LITE/launcher-service.jar!/BOOT-INF/classes!/com/codescroll/launcher/service/LauncherService.class]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.codescroll.launcher.service.LauncherService]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: No enum constant com.codescroll.launcher.core.model.ServiceType.REGACY
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1303)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1197)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:555)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515)
	at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
	at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:277)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1248)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1168)
	at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593)
	... 27 common frames omitted
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.codescroll.launcher.service.LauncherService]: Constructor threw exception; nested exception is java.lang.IllegalArgumentException: No enum constant com.codescroll.launcher.core.model.ServiceType.REGACY
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:184)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:87)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1295)
	... 38 common frames omitted
Caused by: java.lang.IllegalArgumentException: No enum constant com.codescroll.launcher.core.model.ServiceType.REGACY
	at java.lang.Enum.valueOf(Enum.java:238)
	at com.codescroll.launcher.core.model.ServiceType.valueOf(ServiceType.java:3)
	at com.codescroll.launcher.core.model.ServiceFactory.create(ServiceFactory.java:40)
	at com.codescroll.launcher.service.LauncherService.initServices(LauncherService.java:96)
	at com.codescroll.launcher.service.LauncherService.<init>(LauncherService.java:58)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
	at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:172)
	... 40 common frames omitted