공유 Java 클래스를 변경할 수있는 스크립트를 실행하기 위해 Java ScriptEngine을 사용했습니다. Java 클래스에서 동적으로 생성 된 변수를 지원할 수 있는지 궁금합니다.Java ScriptEngine - Java 클래스에서 동적 변수 작성
// create a script engine manager
ScriptEngineManager factory = new ScriptEngineManager();
// create a JavaScript engine
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.put("javaclass", jClass);
engine.eval("javaclass.propertyThatDoesNotExist = 'test'"); // throws exception
groovy로 같은 코드를 시도했지만 동일한 오류 (공용 속성 없음)도 실패했습니다. 이 게시 http://stackoverflow.com/a/6569565/1228906 게시물을 사용하여 동적으로 스크립트에서 속성을 만들 수 있었지만 ScriptEngine에서 동일한 작업을 수행하지 못했습니다. 그래도 고마워! – webber
"바인딩"을 사용했다고 가정합니다. 당신은 "클래스"동력학에 "속성"을 추가하지 않습니다. 동적 전역 변수 만 정의 할 수 있습니다. –