Spring Boot Plugin Breaking Sub-Project Dependency?

I’m working on a project which consists of two subprojects. A client JavaFX front end, and a Spring boot backend subproject. I’d like the JFX project to be able to start up the Spring Boot application in the background, and also refer to the backend project to share some common code. Unless I just have some odd local problem, the backend Spring Boot dependency (plugin) seems to be actually getting in the way of the dependent (JFX) project from resolving anything in the backend/core (boot) project.

I’m linking to a public GitLab repo which I hope should demonstrate this with a minimal example. Anyone trying it would need to reverse the commented out plugins blocks in the “core” backend project as shown here:

plugins {
    id 'java'
}

//plugins {
//    id 'java'
//    id 'org.springframework.boot' version '2.4.5'
//}
//
//bootJar {
//    manifest {
//        attributes 'Main-Class': 'org.example.CoreMain'
//    }
//}

I’m doing a “gradlew clean build run”.
With only the java plugin included, it builds and runs fine. If I swap the two, the dependent project can’t build at all since it relies on a class in core.

So is this more of a Spring Boot plugin problem, more of a Gradle problem, or something I’ve done wrong?

Not sure if there’s another solution, but I ended up ‘fixing’ this by creating a 3rd core sub project which the other two depend on.

Gradle is cool but sometimes…
It’s complicated to integrate it with…

I do wish we had some (or better) ways to see what’s going on under the hood, for stuff like this.

CLI is nice for some things, but if we wanted to visualize the entire Gradle build lifecycle or better understand what’s going on, sometimes I feel like a nice interactive visual desktop application (JavaFX etc) would do much better for debugging or troubleshooting. Possibly for learning Gradle too.