我需要使用Spatial illusions javascript库生成一个符号(画布或SVG格式),并在我的java(专有框架)项目中使用该符号。 java脚本代码可用here。我使用下面的代码相同。
You can mark an RDD to be persisted using the persist() or cache() methods on it. The first time it is computed in an action, it will be kept in memory on the nodes.
但我继续得到以下异常。如何使这个工作?有人能帮帮我吗?
public class TestSymbolCreation {
public static void main(String args[]) {
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine scriptEngine = scriptEngineManager.getEngineByExtension("js");
System.out.println(new File(".").getAbsoluteFile());
File file = new File("./src/resources/milsymbol.js");
try {
Reader reader = new FileReader(file);
scriptEngine.eval(reader);
Bindings obj = (Bindings) scriptEngine.eval("var canvasElement = {value : new ms.Symbol('SFG-UCI----D',{size:35}).asCanvas() }; canvasElement;");
Object canvas = obj.get("value");
System.out.println("Canvas =>"+canvas);
} catch (FileNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (ScriptException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
答案 0 :(得分:0)
这只是脚本执行器,因此它不会像浏览器提供的那样提供文档对象。 要使用文档对象,您需要集成第三方浏览器,该浏览器可以与swing组件集成,例如JTidy