Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法访问Rhino中运行的脚本中的java.lang.String_Java_Javascript_String_Rhino - Fatal编程技术网

无法访问Rhino中运行的脚本中的java.lang.String

无法访问Rhino中运行的脚本中的java.lang.String,java,javascript,string,rhino,Java,Javascript,String,Rhino,我在访问JavaScript中的Java类时遇到问题。调用代码段 var String = Java.type("java.lang.String"); 从Java通过javax.script.ScriptEngine生成以下错误 Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "Java" is not

我在访问JavaScript中的Java类时遇到问题。调用代码段

var String = Java.type("java.lang.String");
从Java通过
javax.script.ScriptEngine
生成以下错误

Exception in thread "main" javax.script.ScriptException: sun.org.mozilla.javascript.internal.EcmaError: ReferenceError: "Java" is not defined. (path/to/string.js#1) in path/to/string.js at line number 1
    at com.sun.script.javascript.RhinoScriptEngine.eval(RhinoScriptEngine.java:156)
    at main.JsTest.main(JsTest.java:55)
在脚本中使用非Java类很好,例如
var value=a+b
,其中
a
b
javax.script.ScriptContext
中定义

这是执行脚本的Java类

JsTest.java

公共类JsTest
{
公共静态void main(字符串[]args)引发异常
{
ScriptEngineManager sem=新ScriptEngineManager();
ScriptEngine se=sem.getenginebyxtension(“js”);
String script=“path/to/String.js”;
文件scriptFile=新文件(脚本);
FileReader fr=新的FileReader(脚本文件);
se.put(ScriptEngine.FILENAME,script);
ScriptContext sc=新的SimpleScriptContext();
东南评估(联邦储备银行,sc);
}
}

我不知道你的
Java.type
是从哪里来的,但是它使用
Packages.Java
还是
Java

所以你的线路应该看起来像

var String = Packages.java.lang.String;
显然我也加入了。