I want develop a modular application using spring-boot and plugins. The plugins will be handled with spring-plugin and these are stored in jars files in a directory (for example: /home/application/plugins).How can I add jars files to the application classpath at runtime and loading classes and beans (plugins) that are in these jars files. Best regards, HLicea
You need to use PropertiesLauncher instead of JarLauncher:
java -cp "yourBoot.jar" -Dloader.path=plugins/ -Dloader.main=your.mainClass org.springframework.boot.loader.PropertiesLauncher
This will make java load the jars in the plugins directory and spring load all the classes in those jars marked as @Configuration into the context.
I believe "standard" java approach should work here, e.g. for Linux:
java -cp "yourBoot.jar:plugins/*" org.springframework.boot.loader.JarLauncher
Only trick is that I have taken Main-Class
from boot's uberjar.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With