Я разрабатываю игровой движок на основе компонентов в java, прямо сейчас, когда у меня есть изменения в компонентах, которые мне нужно перестроить и перезапустить редактор, чтобы изменения вступили в силу (или я могу использовать ограниченную инъекцию горячего кода, если приложение работает в режиме отладки).
Я ищу способ разрешить пользователю изменять источник компонентов и перезагружать их без необходимости перезапуска приложения (возможно, просто выйти и войти в игровой режим). Также важной особенностью, которая мне нужна, является то, что конечный экспортированный код должен быть родным Java-кодом (поэтому в конечном результате интерпретатор не должен использоваться)).
Можете ли вы дать мне какие-либо указания о том, как интегрировать интерпретатор beanshell в проект? Я могу вручную отслеживать исходную папку для изменений и кормить обновленные классы java, но как происходит горячая замена?