티스토리 뷰
java.lang.ClassCastException: class … is in unnamed module of loader 'app' - spring-boot-dev-tools
Myclude 2021. 4. 12. 00:56쿼츠 개발 시 다음과 같은 오류를 보게 되었다.
org.quartz.SchedulerException: TriggerListener 'SimpleTriggerListener' threw exception: class me.myclude.quartz.info.TimerInfo cannot be cast to class me.myclude.quartz.info.TimerInfo (me.myclude.quartz.info.TimerInfo is in unnamed module of loader 'app'; me.myclude.quartz.info.TimerInfo is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @144165a0)
at org.quartz.core.QuartzScheduler.notifyTriggerListenersFired(QuartzScheduler.java:1866) ~[quartz-2.3.2.jar:na]
at org.quartz.core.JobRunShell.notifyListenersBeginning(JobRunShell.java:296) ~[quartz-2.3.2.jar:na]
at org.quartz.core.JobRunShell.run(JobRunShell.java:173) ~[quartz-2.3.2.jar:na]
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:573) ~[quartz-2.3.2.jar:na]
Caused by: java.lang.ClassCastException: class me.myclude.quartz.info.TimerInfo cannot be cast to class me.myclude.quartz.info.TimerInfo (me.myclude.quartz.info.TimerInfo is in unnamed module of loader 'app'; me.myclude.quartz.info.TimerInfo is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader @144165a0)
at me.myclude.quartz.timeservice.SimpleTriggerListener.triggerFired(SimpleTriggerListener.java:28) ~[classes/:na]
at org.quartz.core.QuartzScheduler.notifyTriggerListenersFired(QuartzScheduler.java:1860) ~[quartz-2.3.2.jar:na]
처음에는 단순 캐스팅 Exception 으로 알았는데.. 생각보다 복잡한 내용이 포함되어 있다는 것을 구글링 하다가 알게 되었다.
근본적인 원인은 Spring Boot DevTools 클래스 로더의 문제인 것으로 보이며 그에 대한 내용은 아래 블로그를 참조 하시면 될 것 같습니다.
정확하게 이해가 되지는 않지만.. DevTools를 삭제하고 수행하면 정상적으로 구동이 되는 것 같네요.
Spring Boot DevTools 클래스로더 이슈 (brunch.co.kr)
Spring Boot DevTools 클래스로더 이슈
- 스프링부트 관련 잡다한 기술 이야기 | "Spring Boot DevTools 클래스로더 이슈"라는 제목으로 글을 작성하였는데, 막상 글을 다 작성한 후 다시 읽어보니 너무 잡다한 내용이 되었다. 그래서, 이 글
brunch.co.kr
java.lang.ClassCastException: class ... is in unnamed module of loader 'app' - spring-boot-dev-tools
We have a larger Spring boot application which causes the following exeception: java.lang.ClassCastException: class jpa.XVersion cannot be cast to class jpa.XVersion (jpa.XVersion is in unnamed
stackoverflow.com