You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Being a Java framework, Spring-Boot not necessarily requires dedicated support. Yet, The Spring-Boot framework provides features and tooling which could use a better Mill integration, namely Spring-Boot Assemblies.
Mill already comes with Assembly support. Spring-Boot provides an alternative implementation with different trade-offs. For example, in Spring-Boot Assemblies, library dependencies are not unpacked but embedded as-is, which has various benefits:
no re-packaging
no special setup for file collisions needed
no licensing issues due to repackaging
works for Non-Spring applications as well
potentially more docker-friendly
This comes at the price, that a Spring-Boot application uses it's own main class as an entry point and a specialized classloader.
It would be nice to have a SpringBootAssemblyModule, that supports those features out of the box. There is a prior-art external plugin mill-spring-boot which could be integrated for that.
A Spring-Boot specific tutorial should be added and discuss the features and its pros and cons. Also, other tutorials using Spring-Boot should be reviewed if they can benefit from the new module.
The text was updated successfully, but these errors were encountered:
lefou
changed the title
Improve Spring-Boot interation, support for Spring-Boot Assemblies
Improve Spring-Boot integration, support for Spring-Boot Assemblies
Feb 5, 2025
I think what we can aim for is 4-5 example projects showing off how to use Mill with Spring-Boot to support the most common use cases, that we can include on a dedicated page in the documentation under Building Java with Mill.
We should also try to quantify and state the value prop of using Mill for Spring-Boot projects: are compile times better? is --watch more convenient? Easier integrations with non-JVM languages in the build? I'm not actually sure what concrete comparisons would make the most sense here, but I feel we should be able to find some benefits of using Mill rather than Maven or Gradle
Being a Java framework, Spring-Boot not necessarily requires dedicated support. Yet, The Spring-Boot framework provides features and tooling which could use a better Mill integration, namely Spring-Boot Assemblies.
Mill already comes with Assembly support. Spring-Boot provides an alternative implementation with different trade-offs. For example, in Spring-Boot Assemblies, library dependencies are not unpacked but embedded as-is, which has various benefits:
This comes at the price, that a Spring-Boot application uses it's own main class as an entry point and a specialized classloader.
It would be nice to have a
SpringBootAssemblyModule
, that supports those features out of the box. There is a prior-art external pluginmill-spring-boot
which could be integrated for that.A Spring-Boot specific tutorial should be added and discuss the features and its pros and cons. Also, other tutorials using Spring-Boot should be reviewed if they can benefit from the new module.
The text was updated successfully, but these errors were encountered: