Having recently updated the ae app labs org website to use SvelteKit, I came across some SEO optimizations that can be done to improve how articles are previewed on Twitter, Linked In etc.
This year has flown past especially towards the latter stages of the year, as I had plans to take a Cloud Certification before the year is up.
Whether it is the busy schedule or procrastinating with the learning until the exam is scheduled, I can’t tell to be certain.
Last year I had learnt Spring Cloud and the various components in it, and also had some written notes. So this year, when I came across them I decided to persist it in digital form.
Being a Java developer and having used Spring frameowrk and Spring Boot for most of my enterprise projects, it was vey easy to be work with Spring Cloud for microservices. Spring Cloud provides tools to quickly build some of the common patterns in distributed systems.
I’ve long been interested in Digital Securtiy and Cryptography, but the math seemed to be above my level of comprehension.
Very recently I revisited one of my very earlier projects and decided to start making a web version of it.
An always upto date list of codenames for the Android Messages app. In this part we look at the codenames that look like fictional cities.
Recently I decided to try out Kotlin for future Spring Boot projects in place of Java.
Having used Kotlin for all of my recent Android projects, as well as the experience of rewriting some old ones with Kotlin drove that thought.
Upon creating a Hello Kotlin application, I was greeted with this error on startup.
org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: @Configuration class 'KotlinDemoApplication' may not be final.
Remove the final modifier to continue.
Offending resource: org.example.snippet.kotlindemo.KotlinDemoApplication
at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:72) ~[spring-beans-5.3.9.jar:5.3.9]
at org.springframework.context.annotation.ConfigurationClass.validate(ConfigurationClass.java:217) ~[spring-context-5.3.9.jar:5.3.9]
at org.springframework.context.annotation.ConfigurationClassParser.validate(ConfigurationClassParser.java:216) ~[spring-context-5.3.9.jar:5.3.9]
The error message had the answer in it, but that seemed to be too obvious. All classes are final by default in Kotlin, unless explicitly specified with the open
keyword.
I may have missed something in the config when using the Spring Initalizer or something was overlooked in the generated project file from Spring Initializer.
But this runtime error was solved by adding the open
keyword infront of the KotlinDemoApplication
.
Notes
I had to install a few additional plugins to use Kotlin with Eclipse, which was not documented in any of the related websites.
- Eclipse Weaving Service
- AspectJ Development Tools
- Kotlin (Kotlin language support for Kotlin 1.4.0)
- Kotlin-gradle
References