Spring boot addressbook error
zeljkosh opened this issue · comments
Trying to run application always throws following error
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'initializer' defined in com.example.KVApplication: Invocation of init method failed; nested exception is org.springframework.data.r2dbc.connectionfactory.init.CannotReadScriptException: Cannot read SQL script from class path resource [schema.sql]; nested exception is java.io.FileNotFoundException: class path resource [schema.sql] cannot be opened because it does not exist at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1796) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:595) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:323) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:226) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:321) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:893) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:879) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:551) ~[spring-context-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:62) ~[spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:758) [spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:750) [spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397) [spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) [spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1237) [spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1226) [spring-boot-2.3.1.RELEASE.jar:2.3.1.RELEASE] at com.example.MainKt.main(Main.kt:36) [main/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_201] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_201] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_201] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_201] at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.3.1.RELEASE.jar:2.3.1.RELEASE] Caused by: org.springframework.data.r2dbc.connectionfactory.init.CannotReadScriptException: Cannot read SQL script from class path resource [schema.sql]; nested exception is java.io.FileNotFoundException: class path resource [schema.sql] cannot be opened because it does not exist at org.springframework.data.r2dbc.connectionfactory.init.ScriptUtils.lambda$executeSqlScript$1(ScriptUtils.java:463) ~[spring-data-r2dbc-1.1.1.RELEASE.jar:1.1.1.RELEASE] at reactor.core.publisher.Mono.lambda$onErrorMap$29(Mono.java:3271) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Mono.lambda$onErrorResume$31(Mono.java:3361) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:88) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onError(FluxHandleFuseable.java:213) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxContextStart$ContextStartSubscriber.onError(FluxContextStart.java:110) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onError(FluxMapFuseable.java:326) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onError(FluxFilterFuseable.java:375) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoCollect$CollectSubscriber.onError(MonoCollect.java:143) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Operators.error(Operators.java:196) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxUsing.subscribe(FluxUsing.java:78) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Mono.subscribe(Mono.java:4219) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:441) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:211) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:161) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:86) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoFromFluxOperator.subscribe(MonoFromFluxOperator.java:81) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoUsingWhen$ResourceSubscriber.onNext(MonoUsingWhen.java:192) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:73) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:121) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1782) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoSupplier.subscribe(MonoSupplier.java:61) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Mono.subscribe(Mono.java:4219) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:97) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:165) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onError(FluxMapFuseable.java:134) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onNext(FluxHandleFuseable.java:185) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2344) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.request(FluxHandleFuseable.java:243) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:162) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoFlatMap$FlatMapMain.onSubscribe(MonoFlatMap.java:103) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:90) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.FluxHandleFuseable$HandleFuseableSubscriber.onSubscribe(FluxHandleFuseable.java:148) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoCurrentContext.subscribe(MonoCurrentContext.java:35) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Mono.subscribe(Mono.java:4219) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.MonoUsingWhen.subscribe(MonoUsingWhen.java:96) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Mono.subscribe(Mono.java:4219) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Mono.block(Mono.java:1678) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at org.springframework.data.r2dbc.connectionfactory.init.ConnectionFactoryInitializer.execute(ConnectionFactoryInitializer.java:107) ~[spring-data-r2dbc-1.1.1.RELEASE.jar:1.1.1.RELEASE] at org.springframework.data.r2dbc.connectionfactory.init.ConnectionFactoryInitializer.afterPropertiesSet(ConnectionFactoryInitializer.java:91) ~[spring-data-r2dbc-1.1.1.RELEASE.jar:1.1.1.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1855) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792) ~[spring-beans-5.2.7.RELEASE.jar:5.2.7.RELEASE] ... 22 common frames omitted Suppressed: java.lang.Exception: #block terminated with an error at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] at reactor.core.publisher.Mono.block(Mono.java:1679) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] ... 26 common frames omitted Caused by: java.io.FileNotFoundException: class path resource [schema.sql] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180) ~[spring-core-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.core.io.AbstractResource.readableChannel(AbstractResource.java:149) ~[spring-core-5.2.7.RELEASE.jar:5.2.7.RELEASE] at org.springframework.core.io.AbstractFileResolvingResource.readableChannel(AbstractFileResolvingResource.java:220) ~[spring-core-5.2.7.RELEASE.jar:5.2.7.RELEASE] at reactor.core.publisher.FluxUsing.subscribe(FluxUsing.java:75) ~[reactor-core-3.3.6.RELEASE.jar:3.3.6.RELEASE] ... 54 common frames omitted
I assume its some pathing issue, but i havent changed or messed around with any classpaths, i tryed to point the main class to schema.sql but i always have same issue.
(Using windows btw)
Are you trying to run the original example or have you made some changes?
The original example is working fine for me on my Windows machine, but I had to change database location in src/backendMain/resources/application.yml
file to:
r2dbc:h2:mem:///example_spring?options=DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
Are you trying to run the original example or have you made some changes?
The original example is working fine for me on my Windows machine, but I had to change database location insrc/backendMain/resources/application.yml
file to:r2dbc:h2:mem:///example_spring?options=DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE
I used your example 1 to 1. i changed nothing, just extracted and tryed to run it. i did it now again, clean download, extract i changed link as you showed, and same issue.
I will try to do this on my linux machine but i dont think that is the problem. Error remained the same
EDIT:
Your showcase example works really nice, had such fun playing around with it.
But noone of your 3 spring boot examples worked for me ( numbers, address book,template one)
Template one shows this in main class of backend
Actual class 'PingService' has no corresponding expected declaration
Numbers one has exception again in Main class of backend but a bit different, i will have to take a look again later.
Perhaps something is wrong with my intellij, but i dont think so. i will redo all examples on my linux machine.
Maybe your spring boot examples share common problem that manifests in different ways, its worth checking.
How do you run the examples? From the cmd.exe
console window?
Have you checked https://kvision.gitbook.io/kvision-guide/part-3-server-side-interface/setting-up ?
Can you paste the whole gradle log from the start to the exception?
I managed to make it work on my other machine with no issues, there is some chance my hdd is damaged, or that intellij plugins cause some problems. Il close the issue since its not code related``
Good luck with your HDD!