问题标签 [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.

0 投票
1 回答
873 浏览

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 对此进行了说明。

我究竟做错了什么?

0 投票
1 回答
388 浏览

java - JRuby:使用 StringScanner:NoMethodError:未定义的方法“bol?” 对于零:NilClass

我正在尝试在 Java webapp 中使用 JRuby 1.7.4。这是我要运行的代码:

这是使用以下 Java 代码执行的:

不幸的是,它以这个例外结束:

知道有什么问题吗?

0 投票
5 回答
37911 浏览

groovy - 消息未使用 JSR223 和 groovy 在 jmeter 的控制台上打印

方法内部的 println()static void main不会在任何地方打印任何内容,而只有 println() 在终端中打印。这是我的代码:

当我运行它时显示通过(Jmeter 中的绿色三角形)但没有在终端上打印任何内容

而一个简单的程序,如

在终端上打印。

有人可以让我知道我在哪里做错了吗?

0 投票
2 回答
834 浏览

java - 具有多线程和锁的 Java ScriptEngine

我正在使用 JSR223 ScriptEngine ( JAV8 ),它本身不是线程安全的。由于我需要多个线程才能访问 ScriptEngine,因此每个 ScriptEngine 都属于一个 EngineContext 对象。这些 EngineContexts 再次具有一个 ReentrantLock,各个线程在访问 ScriptEngine 之前获取它。

我遇到的问题是线程成功获取了锁,但是当两个线程调用它时,有时我仍然会遇到 JVM 崩溃(著名的 SIGSEGV (0xb))。

作为概述,这里是锁定过程的一些伪代码

我真的不确定,这里的问题是什么。

0 投票
1 回答
1878 浏览

java - 从 Java 中使用 ScriptEngine 调用自定义脚本函数

我在用 python、groovy 和 javascript 编写的不同脚本文件上具有相同名称的相同自定义函数。用户可以选择要使用的脚本之一。我想以通用方式从这些脚本中调用函数。

通过这种方式,我可以调用我的函数,甚至将 ScriptEngineManager 参数更改为“javascript”或“groovy”,并使用“CustomJs.js”或“Customgroovy.groovy”更改阅读器文件。

但是,我想知道有没有一种方法可以在不使用invokeFunction如下方式的情况下调用函数:

首先,评估脚本并将结果放在绑定上,然后在此对象上调用函数。

那么,如果有这样的方式或有其他建议,这对我来说是最通用的方式吗?

0 投票
2 回答
741 浏览

java - ArrayList 上的 indexOf 函数不适用于 JSR 223(Rhino 脚本引擎)

我正在尝试使用整数数组列表并检查其中是否存在 var。它适用于字符串数组,但不适用于整数数组。

代码有什么问题?

0 投票
2 回答
234 浏览

java - 我可以在 Oracle 的 JDK7 JSR223 JavaScript 引擎中扩展 Java 类吗?

我正在尝试编写 JavaScript,它将定义一个扩展现有 Java 类的类,从 JSR223 调用ScriptEngine。我知道JavaAdapter 适用于 Interface,但不适用于 Class

我知道这是我应该期待的文档。我也知道,一旦我可以切换到 Nashorn,这一切都会消失,我将可以很好地访问Java.extend()等,但目前我还坚持使用 JDK7。

鉴于这一切,有没有办法做到这一点?我认为我的后备方案将直接切换到 Mozilla 的原生 Rhino 绑定,但我更愿意尽可能保持抽象。

0 投票
3 回答
7895 浏览

java - 使用 Nashorn (JSR 223) 和预编译的 Java 脚本

我通过 JSR 223 使用 Nashorn 来执行用户输入脚本的小片段:

不同的用户脚本调用定义在静态中央库中的 JavaScript 函数(保存在functions上面代码片段中的字符串中)。

每次我想获得一个Invocable我可以从我的 Java 调用的东西时,我都不得不不断地重新编译大型库代码。

有没有办法将以前编译的代码与新代码结合起来?

0 投票
1 回答
397 浏览

scala - Scala 2.11 和 jsr-223 不工作

我对使用我们现在在 scala 2.11 中拥有的 Scala 脚本引擎非常感兴趣

我看到在 REPL 中一切正常,但如果我通过测试(我从 sbt 和 maven 尝试过)这样做,那么找不到 scala 的 ScriptEngine。

我试过看看哪个 ScriptEngine 存在

但我只得到 NashornScriptEngine (我有 JDK8)

有人知道为什么我找不到它吗?我以前在 SBT 中遇到过 NashornScript 的问题,可以通过在 Test 中添加 fork 来解决,但这不是这里的问题。

当您在 REPL 之外时,就好像 ScriptEngine 不存在于类路径中

0 投票
1 回答
1653 浏览

scala - 如何使用 JSR-223 在 sbt 控制台中获取 Scala 解释器?

在 sbt 控制台,sbt 版本 0.13.5,Scala 版本 2.11.1,我可以得到javax.script.ScriptEngineScala:

但是,我不能使用它:

根据 SBT FAQ,我应该用 a 做一些魔术Settings,然后将它传递给我Interpreter的构造函数。但是,我没有直接创建一个Interpreter(甚至不清楚我是否间接创建它,因为引擎对象是一个IMain)。

Scala 有什么方法可以ScriptEngine在 SBT 控制台上工作吗?