Upgrading a Maven, Spring Boot, and JavaFX Application

Upgrading a Maven, Spring Boot, and JavaFX Application

Learn the pain points of upgrading your Spring Boot, Maven, and JavaFX apps to newer versions and how to address them.

I've been migrating all my JavaFX applications to Java 15/JavaFX 15.0.1 to see if there are any pain points or gotchas to be aware of. I particularly wanted to understand how Maven and Gradle handle JavaFX, and how to successfully build and run the applications in IntelliJ IDEA.

In this blog post, I explore the steps taken to upgrade a Spring Boot/Maven/JavaFX application.

Backstory

Once upon a time, in the olden days when we were allowed to physically go to conferences, Josh Long and I decided to co-present at Code One (2018). Obviously, this was going to be a Spring Boot application, and Josh suggested we create a JavaFX front end for it, since that's what I'd been using in two previous demos (Java 8 in Anger and Real World Java 9).

I mutated and update this a bit and presented it (solo) at Spring One in 2019, and turned that into a step-by-step video-and-blog IntelliJ IDEA tutorial.

The application started off as a Java 11/JavaFX 13 application in the first place, and it was all running correctly in IntelliJ IDEA 2020.3, so there wasn't too much work in updating it. The app uses Maven, unlike the other applications I've blogged about.

Steps

Kotlin Service

The application relies on a Kotlin Spring Boot back end, which I upgraded before touching the JavaFX UI.

  1. Updated to latest Kotlin version (1.3.61 -> 1.4.21)
  2. Updated to latest Spring Boot version (2.2.2.RELEASE -> 2.4.1, I had to go and do a quick Google to make sure the version number format had changed, and indeed it had).
  3. Removed junit-vintage exclusion from the pom.xml, apparently this is no longer required since Spring Boot 2.4.1, which is nice.
  4. Merged a pull request, and made some changes to their changes. A pull request! Full of tests! Lovely.

The back end needed very little attention and it was good to go.

java spring boot maven kotlin javafx

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

How to Install OpenJDK 11 on CentOS 8

What is OpenJDK? OpenJDk or Open Java Development Kit is a free, open-source framework of the Java Platform, Standard Edition (or Java SE).

Java Spring Boot First App

Step by Step to your First Spring App

Multiple Datasources With Spring Boot Data JPA - Java to Dev

How to configure multiple datasources for spring boot application, with practical example using spring boot, spring data jpa and postgreSQL.

Spring Boot Tutorials - Spring Boot Full Course

Spring Boot Tutorials | Full Course - What is Spring? Spring Boot is an open source Java-based framework used to create a Micro Service. Spring Boot contains a comprehensive infrastructure support for developing a micro service and enables you to develop enterprise-ready applications that you can “just run”.

Top 10 Advanced Java and Spring Boot Courses for Full-Stack Java Developers

These are best online courses to learn Spring Boot, Advanced Java, Docker, React, Microservices, DEvops, and Angular to become full stack Java developer.