2012-04-25 2 views
-1

나는 (자바 스크립트) 스크립팅이 자바에서 작동하도록 노력하고있다.Java 스크립팅 NoSuchMethodException?

나는 너무 좋아 (필요한 모든 스크립트 엔진과 관련된 것들의 인스턴스와 함께) 내 자바 프로그램에 정의 된 자바 스크립트에서 프로그램을 가지고 :이 호출 할 프로그램의 시작에서

static ScriptEngineManager engineManager = new ScriptEngineManager(); 
static ScriptEngine jsengine = engineManager.getEngineByName("js"); 
static Invocable jsinvoke = (Invocable) jsengine; 


static String program = 

    "//importPackage(javax.swing);" + 
    "function myMethod(x, y) {" + 
     "return x+y;" + 
    "}"; 

,

try { 
     jsinvoke.invokeFunction("myMethod", x, y); 
    } catch(ScriptException se) { 
     se.printStackTrace(); 
    } 
    catch(NoSuchMethodException nsme) { 
     nsme.printStackTrace(); 
    } 
:이와 myMethod를 호출, 그리고

try { 
     jsengine.eval(program); 
    } catch(ScriptException e) {e.printStackTrace();} 

을 : 어떤 불평없이 작동

오류 java.lang.NoSuchMethodException: no such method: myMethod을 제공합니다. 그것은 JavaScript에 분명하게 존재합니다. 그래서 내가 뭘 잘못 했습니까? 당신이 다음 의견을 유지하려면 코드

을이 줄을 제거하고 다시 실행조차 메소드 이름 myMethod

//importPackage(javax.swing); 

을 코멘트 이후

답변

3

주석으로 코드는 문제의 원인이 될 것으로 보인다 한 줄 주석 (//) 대신 여러 줄 주석 (/ ** /) 사용

+2

줄 바꿈이 없습니다. 멋지다. –

+0

예. 감사합니다 :) .. – mprabhat

+0

아니면 자바 스크립트 문자열 대신 자바로 전체 라인을 주석 처리 할 수 ​​있습니다. 같은 효과, 버그 빼기. –