Вопросы по теме 'nashorn'

создать экземпляр класса через nashorn
Я думаю о замене всех моих XML-файлов и построителей, которые я использую для настройки, на javascript / nashorn. скажем, у меня есть класс java, который является объектом конфигурации стиля построителя class Configuration { String name;...
398 просмотров
schedule 26.02.2022

Может ли Gradle выполнять JavaScript (вместо точки входа Java)?
Может ли Gradle выполнять JavaScript? Пока нет стандартных плагинов для javascript, можно ли сделать что-то вроде JavaExec task execute(type:JavaExec) { main = mainClass classpath = sourceSets.main.runtimeClasspath } Причина: с...
358 просмотров
schedule 16.03.2023

Прервать java-поток, выполняющий скрипт nashorn
В приведенном ниже коде у меня есть javascript, работающий в отдельном потоке от основного. Этот скрипт представляет собой бесконечный цикл, поэтому его нужно как-то завершить. Как? Вызов .cancel() не работает ПОСЛЕ запуска скрипта. Но если я...
5542 просмотров
schedule 18.03.2024

Преобразование Nashorn NativeDate в java.util.Date
При возврате объектов Javascript Date на Java с помощью Nashorn на Java 8, например: ScriptEngineManager factory = new ScriptEngineManager(); ScriptEngine engine = factory.getEngineByName("nashorn"); Object js = engine.eval("new...
5501 просмотров
schedule 02.07.2022

Можно ли преодолеть медлительность запуска Nashorn?
Я использовал Rhino для скриптового компонента внутри графики. В проекте около 200 небольших скриптов, работающих независимо. Сразу при запуске приложения скрипты должны быть на полной скорости. Производительности Rhino было достаточно, но...
1810 просмотров
schedule 19.01.2023

Какой JS Script Engine выберет Java?
ScriptEngineManager.getEngineByName ищет и создает ScriptEngine для заданного имени. Rhino регистрируется как «js», «rhino», «JavaScript», «javascript», «ECMAScript» и «ecmascript». Nashorn регистрируется как «nashorn», «Nashorn», «js», «JS»,...
1313 просмотров
schedule 29.01.2023

Нестатический метод Java доступа Nashorn
В Java 7 (1.7) я мог получить доступ к методу Java из JavaScript, выполнив это: ScriptEngine jse = new ScriptEngineManager().getEngineByName("JavaScript"); jse.eval("importClass(net.apocalypselabs.symat.Functions);"); jse.eval("SyMAT_Functions =...
2449 просмотров
schedule 17.02.2023

Использование типов Java в JavaScript Verticles
Я хочу использовать класс java.util.UUID в Verticle JavaScript в Vert.x. Если у меня есть код var classUUID = Java.type("java.util.UUID"); сразу в скрипте который запускаю из командной строки все нормально. Если я встрою ту же строку кода в...
157 просмотров
schedule 12.07.2022

Многопоточный Nashorn: o.constructor === o.constructor дает false
Я экспериментирую с загрузкой и оценкой многопоточных скриптов в Nashorn и получаю шокирующее поведение: // having some object o loaded in another thread print(o.constructor === o.constructor); // false print(o.constructor === Object); // false as...
341 просмотров

forEach - Миграция с Rhino на Nashorn?
У меня есть код JavaScript, который я сейчас запускаю на Java 7 с использованием движка Rhino. Теперь я хочу перенести код на Java 8 (и, следовательно, выполнить его с помощью движка Nashorn). Ограничение заключается в том, что код JavaScript...
1976 просмотров
schedule 09.02.2023

Java ScriptEngine (nashorn & rhino): как складывать области/привязки?
Мне нужно перенести программное обеспечение с помощью Rhino1.7R4 и его пакета org.mozilla.javascript , чтобы использовать пакет javax.script и его ScriptEngine ( Rhino в Java 6 и 7, Nashorn в Java 8). Основная проблема заключается в том,...
717 просмотров

Nashorn TypeError: невозможно вызвать undefined в ‹eval›
При запуске кода ниже я получаю сообщение об ошибке. Я понятия не имею, что вызывает эту ошибку. ScriptEngine engine = engineManager.getEngineByName("nashorn"); String str = "var shape_objects = [ Java.Type(\"new Triangle()\"),...
5225 просмотров
schedule 25.06.2023

Как запретить Nashorn разрешить функцию quit ()?
Я пытаюсь добавить в нашу систему функцию сценариев, где недоверенные пользователи могут писать простые сценарии и запускать их на стороне сервера. Я пытаюсь использовать Nashorn в качестве скриптового движка. К сожалению, в Nashorn добавили...
1998 просмотров
schedule 08.03.2022

Nashorn, скомпилируйте один раз для нескольких областей видимости, например, для Rhino.
Я изучаю возможность переноса огромного проекта, основанного на rhino, на nashorn. Этот проект имеет тысячи областей (~экземпляров), работающих в одном скомпилированном скрипте Rhino (из 10 000+ строк javascript). Что я умею делать: Несколько...
769 просмотров
schedule 20.06.2022

Как заставить конкатенацию строк работать с JSObject Nashorn
Намерение Я использую Java 8u60 ( не 8u51, это важно!) и работаю с его движком Nashorn JavaScript. Я создал свой собственный JSObject , расширив AbstractJSObject . Он должен обернуть org.json.JSONObject и заставить его работать как реальный...
763 просмотров
schedule 03.10.2023

Как сделать jdk.nashorn.api.scripting.JSObject видимым в плагине
У меня есть Eclipse RCP, который взаимодействует с java-скриптом. Теперь с Java 8 используется nashorn, и код, который зависел от org.mozilla.javascript (подключаемый модуль org.mozilla.javascript_1.7.2.v201005080400.jar), должен быть изменен для...
5194 просмотров
schedule 14.08.2022

Кодирование/декодирование Javascript в Nashorn
Я использую метод, описанный здесь: http://scriptasylum.com/tutorials/encode-decode.html Короче говоря, у вас есть файл javascript, который выглядит так, где закодирован фактический javascript: document.write( unescape( 'escaped string' ) );...
582 просмотров
schedule 24.10.2023

Клонировать/копировать SimpleScriptContext
Сегодня я использовал ScriptContext для создания потокобезопасности с одним движком nashorn, используемым в нескольких потоках, однако создание множества контекстов довольно дорого, поскольку каждый контекст также должен оценивать мои базовые...
451 просмотров
schedule 16.02.2023

Как добавить аргументы с помощью метода ScriptEngineManager getEngineByName(nashorn)?
Я использую Nashorn с Java API 8. Я хотел бы защитить выполнение javascript, чтобы убедиться, что код не может вызывать пакет Java. Можно следующим образом: NashornScriptEngineFactory factory = new NashornScriptEngineFactory(); ScriptEngine...
1143 просмотров
schedule 19.10.2022

Отладка Nashorn Javascript с помощью CompiledScript?
Кажется обязательным использовать load(filename) расширение Nashorn если вы хотите иметь возможность отлаживать как Java, так и Javascript в среде IDE, см., например, Отладка Nashorn JavaScript с помощью Intellij К сожалению, это запрещает...
2880 просмотров
schedule 12.02.2023