使用ScriptEngineManager执行java类的方法
时间: 2023-12-06 17:44:22 浏览: 147
可以使用以下代码使用ScriptEngineManager执行Java类:
```java
import javax.script.ScriptEngine;
import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
public class Main {
public static void main(String[] args) throws ScriptException {
ScriptEngineManager manager = new ScriptEngineManager();
ScriptEngine engine = manager.getEngineByName("java");
// 设置类路径
engine.eval("import com.example.MyClass;");
// 创建类实例
engine.eval("MyClass obj = new MyClass();");
// 调用类的方法
engine.eval("obj.myMethod();");
}
}
```
其中,`com.example.MyClass`是你要执行的Java类的全限定名,`MyClass`是类名,`myMethod()`是要调用的方法名。你需要将类所在的包名和类文件编译后的路径添加到类路径中。
注意,使用ScriptEngineManager执行Java类需要在Java 8及以上版本中使用。
阅读全文