2015-11-30 2 views
0

Я новенькая Nashorn и пытается загрузить мой первый JS файл следующим образом:Java8, Nashorn: не удалось загрузить файл внешний .js сценарий

public static void main(String[] args) { 
     final ScriptEngineManager manager = new ScriptEngineManager(); 
     final ScriptEngine engine = manager.getEngineByName("nashorn"); 

     try { 
      engine.eval("load('https://cdn.jsdelivr.net/sockjs/1.0.3/sockjs.min.js')"); 

     }catch(final ScriptException e) { 
      System.err.println(e); 
     } 

    } 

я получаю следующее исключение:

javax.script.ScriptException: TypeError: Cannot read property "prototype" from undefined in http://cdn.jsdelivr.net/sockjs/1.0.3/sockjs.min.js at line number 3 

кроме того, когда я пытаюсь оценить следующее:

engine.eval("load('https://code.jquery.com/jquery-1.11.3.min.js')"); 
метод

Eval() не возвращает вообще - он просто застрял на отладку (U петь Eclipse).

Любая идея, почему прототип не определен, любой, почему я не могу оценить файл jquery js?

Спасибо!

+0

Используйте недопустимую версию - это позволит вам получить более разумное местоположение ошибки. Также вы пытаетесь загрузить библиотеки, созданные для среды браузера (и, возможно, Node). Я сомневаюсь, что вы сможете просто загрузить их в ванильном двигателе JS, таком как Nashorn или Rhino. –

ответ

1

Nashorn - это механизм JavaScript, совместимый с ECMAScript5. API WebSocket не является частью ECMAScript 5, но браузера API. Это потому, что вы получаете исключение.

+0

Спасибо! не используя Насорн больше ... – Shvalb

Смежные вопросы