我正在使用Intellij,我希望在一个由Nashorn Java8评估的javascript中实现websocket。我的javascript文件顶部有以下一行:
var socket = new WebSocket("http://localhost:12345/echo");
但它却给了我这个错误:
Caused by: javax.script.ScriptException: ReferenceError: "WebSocket" is not defined in src/sample/hello.js at line number 8
at
我试图在Java环境中使用nashorn.运行以下代码
load("fx:base.js");
load("fx:controls.js");
load("fx:graphics.js");
var material = new PhongMaterial();
material.diffuseColor = Color.LIGHTGREEN;
material.specularColor = Color.rgb(30, 30, 30);
var meshView = Java.to([
new Box(200, 200, 200),
我想检索在JS中生成的对象,将它们存储在Java中,然后调用它们上的方法。这适用于Java 7,现在对于Java 8,我得到了一个例外:
Exception in thread "main" java.lang.IllegalArgumentException: no current Global instance for nashorn
at jdk.nashorn.api.scripting.NashornScriptEngine.invokeImpl(NashornScriptEngine.java:492)
at jdk.nashorn.api.scri
我正在试着体会以下几点。Java应用程序应该通过ScriptEngineManager/ScriptEngine运行javascript,而javascript应该能够调用Java应用程序中的函数。只要只将一个简单的变量传递给或传递,这就很好了。但我不能让它传递数组。这是我的代码:
private static class test implements Function<Integer[], Integer[]> {
@Override
public Integer[] apply(Integer[] msg) {
for(int i = 0; i
我的要求是解析javascript文件并获得json格式的AST(抽象语法树)。esprima.parseScript()函数接受js代码并正确地生成AST。但是,如何使用esprima从不同的js文件中读取js代码并对其进行解析?我需要能够从Java类调用js函数。
我尝试用Java读取我想要解析的js,并将其作为输入传递给函数。但是,下面的代码给出了一个异常。
parser.js:
load('esprima.js');
function parsejs(jscode){
var op = esprima.parseScript(jscode)
当我跑的时候
sudo apt-get purge openjdk-8-jdk-headless
应用程序告诉我,它希望安装一些其他软件包或表单oracle-11-*等。
但我只是想腾出空间在我的高清,所以我只想删除。
对此有命令吗?
如注释所示,控制台输出:
pi@RevPi35686:~ $ sudo apt-get remove openjdk-8-jre-headless
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra
在尝试访问dom4j上已解析的xml文档的任何节点时,我会得到以下异常:
Exception in thread "main" java.lang.NoClassDefFoundError: org/jaxen/NamespaceContext
at org.dom4j.DocumentFactory.createXPath(DocumentFactory.java:230)
at org.dom4j.tree.AbstractNode.createXPath(AbstractNode.java:207)
at org.dom4j.tree.Abstra
我相信这个问题在网上已经解决了,但我一直找不到。我阅读了另一个,但我不知道如何为Javascript添加一个新的ScriptEngine。
据我所知,我编写了一个Java应用程序,其中任何地方都不使用JavaScript。这是一个使用Maven的Spring应用程序,但是在mvn clean package和成功构建之后,在main ERROR No ScriptEngine found for language js中运行java -jar app/target/app-X.X.X-SNAPSHOT.jar结果。
有谁会碰巧知道为什么不使用JS的项目会抛出错误呢?是否有任何已知的方法(甚至文
我正在使用1.8u60上的Nashorn创建模型对象,以便将其传递回视图层(thymeleaf)。模型对象的一部分是包含HTML的有点大的字符串(不足以引起普通java中的任何问题)。当尝试使用ScriptObjectMirror方法将对象转换回Java时,我碰到了以下异常。更改最大堆大小似乎没有任何影响(从900 max更改为1800 max,相同的错误)。我在网上找不到很多关于这个的东西,但是纳什霍恩对物体大小有什么限制吗?现在我将尝试最新的1.8JDK。
java.lang.OutOfMemoryError: Java heap space
at jdk.nashorn.inte
如果有的话,我能做些什么来阻止纳什霍恩一直扔ArrayIndexOutOfBoundsException呢?
这个看似琐碎而正确的代码片段(这里没有错误)导致Nashorn出现异常:
文件test.js:
var test;
(function (test) {
(function (renderer) {
var posts = {
0: null,
1: null,
2: null,
3: null // comment out this line --> n
我想让这个例子起作用:
但是我在线程"main“java.lang.NoClassDefFoundError中得到了一个异常: jdk/vm/ci/services/Services
我通过Maven收录了GraalVM
在此最小示例中引发相同的异常。
import org.graalvm.polyglot.Context;
public class Main {
public static void main(String[] args) {
Context context = Context.create("js");
co