Hotea is a "kept it simple and stupid" (KISS) Java Mod-ules/Plug-In mini framework with HOT Class reloading to "support dynamic script like source code" (through isolated ClassLoader/s). This may be of interest and useful to you to build things ranging from e.g. plugins for game engines to perhaps some sort of runtime changeable coded out "business rule" stuff.
HotSwingExampleMain
; it lives "live updates" JLabel(" hello, world ")
changes made in ExampleSwingDrawer
.Caveat emptor: This is intended for and best works with simple plugin-like scenarios, where the classpath of each such plugin does not overlap nor need to share instances among different plugins. In more interesting use cases, by experience, Very Weired Things (VWT) may happen if you don't fully understand what you are actually doing when several class loaders are involved in Java. You have been warned.
See also follow-up projects ch.vorburger.osgi.gradle and ch.vorburger.minecraft.osgi.
Features, what this project does do:
Non-Features, what it does NOT do, not today and not planned:
javax.script
The watchdir
utility is now a separate project, see https://github.com/vorburger/ch.vorburger.fswatch.
The Minecraft specific part was in minecraft/ module. This project now focuses on a general library that is not Minecraft related. (Which the Minecraft module used this in 2017. Since changes made when picking up this project in 2022, the original Minecraft demo is broken; however work has now started to add the equivalent funcationality into https://github.com/OASIS-learn-study/minecraft-storeys-maker, see its issue #58.
Use of Java 8 is recommended to avoid PermGen memory issues due to Class reloading.