问题标签 [nashorn]
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.
java - Java 7 应用程序错误,因为尝试使用新的 Java 8 Javascript 引擎 Nashorn
我使用 java 7 打包的 java 应用程序在客户计算机上提供了以下堆栈跟踪。它似乎正在尝试使用 Java 8 新的 Javascript 引擎,即使它正在运行 Java 7,有什么想法吗?
我不知道他是否安装了 Java 8(但我问过),但我知道他实际上是在使用 Java 7 来运行应用程序,因为我在启动时会自动检查和记录。这使
18/02/2014 21.47.09:com.jthink.songkong.cmdline.SongKong:writeSystemInfo:INFO: SongKong 1.17.0 using Java 1.7.0_45 24.45-b08 32bit on Windows 7 6.1 x86 初始化成功
失败的代码很简单:
java - 使用 nashorn 脚本引擎而不是动态加载的 jar 来获取动态运行时代码是否有任何性能提升?
我最近ScriptEntine
在 java 中发现了 API,主要是因为阅读了 Nashorn 在 JDK8 中的信息。
因为您可以使用 Nashorn 在 Javascript 中执行 java 代码,所以我想知道使用脚本引擎将外部代码加载为 Javascript 是否比从外部 jar 加载类更有益。
两种选择的优缺点是什么?
java-8 - Java 8 Nashorn:控制台非常不可用
我在 OSX 10.9.2 上使用 Java 8 build 1.8.0-b132。
我正在使用 Java 8 中的新 JavaScript 运行时 Nashorn。
我正在使用Library/Java/JavaVirtualMachines/jdk1.8.0.jdk/Contents/Home/bin/jjs
但不幸jjs
的是在交互模式下非常不可用,因为光标左/右不起作用:
jjs
jjs> var x =^[[D
上面的输出 (^[[D) 是按下“左光标”的结果。有没有办法修复这种行为并在 jjs 控制台中使用左/右光标?
javascript - Java8 JS Nashorn 将数组转换为 Java 数组
如何将 JS 数组转换为原生数组?在 Rhino 中转换看起来像(Scala 代码):
在 Nashorn NativeArray 中不存在,我找不到任何关于转换的文档。
rhino - 从 Rhino 切换到 Nashorn
我有一个 Java 7 项目,它大量使用 Javascript 编写各种功能的脚本。到目前为止,我一直在使用 Rhino 作为脚本引擎。我现在想迁移到 Java 8,这也意味着我将用 Nashorn 取代 Rhino。
Nashorn 与 Rhino 的兼容性如何?我可以将它用作替代品,还是我可以期望我的某些脚本不再工作并且需要移植到新引擎?Rhino 有哪些常用的功能是 Nashorn 不支持的?
java - Java 8 Javascript 引擎向后兼容
我正在我的项目中试用 Java 8,但遇到了与构建过程相关的错误。
我正在使用 ANT 脚本,并且在某些时候我正在使用一些 javascript(嵌入到 ANT 中)来执行一些特定于构建的操作。导致错误的脚本部分如下所示:
该项目使用 Java 7 或 Java 6 构建良好,但是当我使用 Java 8 时它给了我一些错误。这些错误与 JS 引擎的升级有关。
特别是我得到以下异常:
javax.script.ScriptException: ReferenceError: "importClass" is not defined in at line
经过一番谷歌搜索后,我发现它与JDK中的以下问题有关
我尝试了评论中的建议,但没有运气。
如何使 Java 8 Nashorn 引擎与 Rhino JS 引擎兼容?
javascript - 如何从Javascript将字符串写入标准输出
我对将字符串写入标准输出的可移植方式感兴趣,无需在末尾添加隐式换行符,理想情况下强制编码为 UTF-8,适用于
- jrunscript(来自任何 JDK)
- 犀牛
- 节点.js
我当前的代码尝试检测它在哪里运行,然后使用特定于平台的写入方法:
它应该导致:
这可以做得更好吗?
对于 jrunscript,我一直在使用 function print
,但这代表JDK-8021773改变了它在 JDK-8 中的行为。
java - 使用 Java 和 Nashorn 编写脚本的新手,有任何教程吗?
有没有什么好的教程或类似的东西可以说明这一点?尽管我已经熟悉 JavaScript,但我还没有用 Java 编写任何脚本。谢谢。本质上,我想使用 JavaScript/XML 来处理我的部分项目。我知道 Java 8 通过 Nashorn 引入了 JavaScript 支持。我想了解这是如何工作的。我知道它涉及使用 javax.script,但我不知道该包是如何工作的,也不了解 Nashorn 是如何工作的。
java - 使用 Nashorn (JSR 223) 和预编译的 Java 脚本
我通过 JSR 223 使用 Nashorn 来执行用户输入脚本的小片段:
不同的用户脚本调用定义在静态中央库中的 JavaScript 函数(保存在functions
上面代码片段中的字符串中)。
每次我想获得一个Invocable
我可以从我的 Java 调用的东西时,我都不得不不断地重新编译大型库代码。
有没有办法将以前编译的代码与新代码结合起来?