Я наконец понял, как получить доступ к пользовательским классам Java в RingoJS. Должно быть, я был действительно глуп, чтобы никогда не видеть это прямо перед моими глазами.
В Rhino для доступа к пользовательским классам Java вам необходимо добавить их в ваш путь к классам Java. Это может быть утомительно, особенно когда конечный пользователь, не имеющий никаких знаний о программировании, пытается установить пакет CommonJS, который требует наличия определенных классов Java в пути к классам. Поправьте меня если я ошибаюсь. Менеджеры пакетов, такие как Tusk , могут сделать это за вас, и я был бы очень признателен, если бы вы уведомили меня о такой функции. Однако, насколько мне известно, конечные пользователи обязаны добавлять классы Java и / или файлы jar в путь к классам.
RingoJS значительно упрощает это. Он предоставляет глобальную функцию addToClasspath (pathName) , которая добавляет JAR-файл или каталог в classpath. Таким образом, мы можем иметь пакет Java или файл JAR в корневом каталоге пакета CommonJS и использовать функцию addToClasspath в самом файле JavaScript, чтобы автоматически добавить его в путь к классам. Кроме того, все файлы JAR в каталоге lib RingoJS включены в путь к классам по умолчанию. Это значительно упрощает дела.
В целях программирования вы можете добавить файлы JAR в каталог RingoJS lib
. Тем не менее, я бы не рекомендовал это. Уменьшить сцепление и поддерживать каталог liboJS в чистоте (предотвращая будущие проблемы с пространством имен) и чтобы облегчить установку для конечного пользователя, я предлагаю использовать функцию addToClassPath. Возможно, это должно быть реализовано и в других реализациях CommonJS на основе Rhino.