Add kotlin module: null safety, coroutines, allopen/noarg, JSpecify interop (post #42)
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
Real, captured output: removing the "spring" compilerPlugin entry from pom.xml's
|
||||
kotlin-maven-plugin configuration (keeping only "jpa"), then running:
|
||||
|
||||
mvn -q -B clean package -DskipTests && java -jar target/kotlin-demo.jar
|
||||
|
||||
Failure #1 -- BookService's @Transactional needs a CGLIB subclass proxy, but
|
||||
BookService is a final Kotlin class (and Application, as a @Configuration class,
|
||||
has the same problem even before any bean method runs):
|
||||
|
||||
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: @Configuration class 'Application' may not be final. Remove the final modifier to continue.
|
||||
Offending resource: com.ankurm.kotlin.Application
|
||||
|
||||
Failure #2 -- after manually adding `open` to just the Application class to get
|
||||
past failure #1 (sed -i 's/^class Application {/open class Application {/' on
|
||||
Application.kt), rebuilding and rerunning hits the next thing the "spring"
|
||||
plugin would otherwise have handled automatically: the @Bean method itself.
|
||||
|
||||
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: @Bean method 'seed' must not be private or final; change the method's modifiers to continue.
|
||||
Offending resource: com.ankurm.kotlin.Application
|
||||
|
||||
Restoring the "spring" compilerPlugin entry (alongside "jpa") and reverting
|
||||
Application back to a plain, non-open `class Application` -- i.e. the
|
||||
checked-in state of this repository -- builds and starts cleanly. See
|
||||
02-fixed-startup.txt for that run.
|
||||
Reference in New Issue
Block a user