问题标签 [jsr223]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 通过 JavaScripting API (Rhino) 从 JavaScript 使用 JavaFX
我正在尝试通过 JavaScripting API (Rhino) 从 JavaScript 使用 JavaFX 2。
注意:这是一个富客户端问题,与网络编程无关。
我想用动态脚本编排我的 JavaFX 富客户端应用程序的某些部分。我正在评估带有捆绑 JavaScript 运行时 (Rhino) 的 JavaScripting API 是否是满足我要求的好方法。
所以我的第一次尝试是通过 JavaScript 创建一个简单的 JavaFX-GUI:
然后我用 jsrunscript 运行这个脚本。该脚本的灵感来自 Oracle 文档。
但是脚本在第 4 行已经失败:
看起来我无法将 JavaFx 包/类导入 javascript 运行时。尽管 oracle 文档使用 java.awt 对此进行了说明。
我究竟做错了什么?
java - JRuby:使用 StringScanner:NoMethodError:未定义的方法“bol?” 对于零:NilClass
我正在尝试在 Java webapp 中使用 JRuby 1.7.4。这是我要运行的代码:
这是使用以下 Java 代码执行的:
不幸的是,它以这个例外结束:
知道有什么问题吗?
groovy - 消息未使用 JSR223 和 groovy 在 jmeter 的控制台上打印
方法内部的 println()static void main
不会在任何地方打印任何内容,而只有 println() 在终端中打印。这是我的代码:
当我运行它时显示通过(Jmeter 中的绿色三角形)但没有在终端上打印任何内容
而一个简单的程序,如
在终端上打印。
有人可以让我知道我在哪里做错了吗?
java - 具有多线程和锁的 Java ScriptEngine
我正在使用 JSR223 ScriptEngine ( JAV8 ),它本身不是线程安全的。由于我需要多个线程才能访问 ScriptEngine,因此每个 ScriptEngine 都属于一个 EngineContext 对象。这些 EngineContexts 再次具有一个 ReentrantLock,各个线程在访问 ScriptEngine 之前获取它。
我遇到的问题是线程成功获取了锁,但是当两个线程调用它时,有时我仍然会遇到 JVM 崩溃(著名的 SIGSEGV (0xb))。
作为概述,这里是锁定过程的一些伪代码
我真的不确定,这里的问题是什么。
java - 从 Java 中使用 ScriptEngine 调用自定义脚本函数
我在用 python、groovy 和 javascript 编写的不同脚本文件上具有相同名称的相同自定义函数。用户可以选择要使用的脚本之一。我想以通用方式从这些脚本中调用函数。
通过这种方式,我可以调用我的函数,甚至将 ScriptEngineManager 参数更改为“javascript”或“groovy”,并使用“CustomJs.js”或“Customgroovy.groovy”更改阅读器文件。
但是,我想知道有没有一种方法可以在不使用invokeFunction
如下方式的情况下调用函数:
首先,评估脚本并将结果放在绑定上,然后在此对象上调用函数。
那么,如果有这样的方式或有其他建议,这对我来说是最通用的方式吗?
java - ArrayList 上的 indexOf 函数不适用于 JSR 223(Rhino 脚本引擎)
我正在尝试使用整数数组列表并检查其中是否存在 var。它适用于字符串数组,但不适用于整数数组。
代码有什么问题?
java - 我可以在 Oracle 的 JDK7 JSR223 JavaScript 引擎中扩展 Java 类吗?
我正在尝试编写 JavaScript,它将定义一个扩展现有 Java 类的类,从 JSR223 调用ScriptEngine
。我知道JavaAdapter 适用于 Interface,但不适用于 Class。
我知道这是我应该期待的文档。我也知道,一旦我可以切换到 Nashorn,这一切都会消失,我将可以很好地访问Java.extend()
等,但目前我还坚持使用 JDK7。
鉴于这一切,有没有办法做到这一点?我认为我的后备方案将直接切换到 Mozilla 的原生 Rhino 绑定,但我更愿意尽可能保持抽象。
java - 使用 Nashorn (JSR 223) 和预编译的 Java 脚本
我通过 JSR 223 使用 Nashorn 来执行用户输入脚本的小片段:
不同的用户脚本调用定义在静态中央库中的 JavaScript 函数(保存在functions
上面代码片段中的字符串中)。
每次我想获得一个Invocable
我可以从我的 Java 调用的东西时,我都不得不不断地重新编译大型库代码。
有没有办法将以前编译的代码与新代码结合起来?
scala - Scala 2.11 和 jsr-223 不工作
我对使用我们现在在 scala 2.11 中拥有的 Scala 脚本引擎非常感兴趣
我看到在 REPL 中一切正常,但如果我通过测试(我从 sbt 和 maven 尝试过)这样做,那么找不到 scala 的 ScriptEngine。
我试过看看哪个 ScriptEngine 存在
但我只得到 NashornScriptEngine (我有 JDK8)
有人知道为什么我找不到它吗?我以前在 SBT 中遇到过 NashornScript 的问题,可以通过在 Test 中添加 fork 来解决,但这不是这里的问题。
当您在 REPL 之外时,就好像 ScriptEngine 不存在于类路径中
scala - 如何使用 JSR-223 在 sbt 控制台中获取 Scala 解释器?
在 sbt 控制台,sbt 版本 0.13.5,Scala 版本 2.11.1,我可以得到javax.script.ScriptEngine
Scala:
但是,我不能使用它:
根据 SBT FAQ,我应该用 a 做一些魔术Settings
,然后将它传递给我Interpreter
的构造函数。但是,我没有直接创建一个Interpreter
(甚至不清楚我是否间接创建它,因为引擎对象是一个IMain
)。
Scala 有什么方法可以ScriptEngine
在 SBT 控制台上工作吗?