java 一个方法 参数传一段代码 在方法内执行这段代码 要怎么实现不是Runtime.getRuntime().exec 这个是执行外部命令的 我要执行的是 比如 System.out.println("123123");
@Override
public String doCode(String code) {
try {
Runtime.getRuntime().exec(code);//就是这 要怎么改?
} catch (IOException e) {
e.printStackTrace();
return "code error!";
}
return "ok";
}
@Override
public String doCode(String code) {
try {
Runtime.getRuntime().exec(code);//就是这 要怎么改?
} catch (IOException e) {
e.printStackTrace();
return "code error!";
}
return "ok";
}
根据你的需求,你参考一下ScriptEngine的eval方法吧
就是一段java代码 比如我当前运行的程序里 有一个ObjectManager 那我就可以写 ObjectManager.init()这样被正确执行
那你直接调用ObjectManager.init()就好了,没办法动态解析你的代码,再转成指令执行的,或者你可以尝试楼上说的动态编译
或者你用反射,比如说写个方法 invoke(instance, method, params),调用的时候 invoke(ObjectManager, "init", null)
你都知道是执行外部命令的,还传入java内部程序命令肯定没用啊。外部命令是只在windows的cmd模式下可以直接运行的命令