Я собираюсь начать разработку небольшого приложения для рабочего стола Java. Приложение - это просто движок, для которого пользователь предоставляет Java-классы для выполнения работы (перевод ввода в вывод).Динамическая сборка Java: BeanShell, Janino, JavaCompiler?
Я хотел бы, чтобы пользователь предоставил фактические классы Java в качестве файлов, которые могут быть загружены (и перезагружены) «на лету».
Для этого конкретного использования есть ли причина, по которой Java будет более громоздкой, чем Groovy или Beanshell? Я не прошу сравнить Groovy/Beanshell и Java, так как их много. Скорее, я хочу знать , если проще динамически загружать классы Groovy или Beanshell из файлов по сравнению с Java.
Для Java 1.6, является ли JavaCompiler лучшим способом динамической загрузки кода? Я хотел бы использовать все языковые функции, поэтому я думаю, что Джанино не работает. Кроме того, возникают проблемы с перезагрузкой?
Примечание: Я видел this и this, но я не уверен, что они ответили на мой вопрос.
Спасибо за это. Любая причина предпочитать что-то вроде Rhino над одним из «горячих» текущих языков (Groovy, в основном)? –
Я предполагаю, что это будет зависеть от предпочтений пользователей. Если вы настроили таргетинг на реализацию, совместимую с javax.script, вы можете позволить своим пользователям выбирать из списка поддерживаемых языков. – trashgod
Хорошая точка. Спасибо, все еще учитывая, я также проверю сценарии. –