问题描述
我有一个与Java脚本交互的Eclipse RCP。现在使用Java 8,使用nashorn,并且必须将依赖于org.mozilla.javascript(插件org.mozilla.javascript_1.7.2.v201005080400.jar)的代码更改为使用jdk.nashorn.api.scripting。
I have an Eclipse RCP that interacts with java script. Now with Java 8, nashorn is used and code that depended on org.mozilla.javascript (plug-in org.mozilla.javascript_1.7.2.v201005080400.jar) must be changed to use jdk.nashorn.api.scripting.
但是当我尝试在Eclipse中使用这个导入时,它没有看到它
But when i try to use this import in Eclipse, it does not see it
import jdk.nashorn.api.scripting.JSObject;
我收到错误:
如何在编译时使它在类路径中可见?
How can I make it visible in the classpath at compile time?
推荐答案
jdk.nashorn.scripting是Nashorn公开的API的一部分。请参阅
jdk.nashorn.scripting is part of Nashorn's exposed API. Please see https://docs.oracle.com/javase/8/docs/jdk/api/nashorn/jdk/nashorn/api/scripting/JSObject.html
它似乎某些Eclipse特定问题。我用Netbeans 8.0.2编译和编译运行以下应用程序,它按预期编译并运行:
It appears to some Eclipse specific issue. I used Netbeans 8.0.2 to compile & run the following application and it compiled and ran as expected:
package javaapplication2;
import javax.script.*;
import jdk.nashorn.api.scripting.*;
public class JavaApplication2 {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager m = new ScriptEngineManager();
ScriptEngine e = m.getEngineByName("nashorn");
ScriptObjectMirror sobj = (ScriptObjectMirror)e.eval("({ foo: 33 })");
System.out.println(sobj.getMember("foo"));
}
}
这篇关于如何在插件中显示jdk.nashorn.api.scripting.JSObject的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!