Java.type('java.lang.ProcessBuilder')的引用问题
管理大大我们在“服务管理”写了一些业务处理逻辑,用到了
var ProcessBuilder = Java.type('java.lang.ProcessBuilder');
var Arrays = Java.type('java.util.Arrays');
var pb = new ProcessBuilder(Arrays.asList('ls', 'll'));
但是运行之后,后台提示:
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: java.lang.ProcessBuilder
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:531) ~
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:428) ~
at jdk.nashorn.api.scripting.NashornScriptEngine$3.eval(NashornScriptEngine.java:521) ~
at com.x.base.core.project.scripting.JsonScriptingExecutor.eval(JsonScriptingExecutor.java:225) ~
at com.x.program.center.jaxrs.agent.ActionExecute.execute(ActionExecute.java:80) ~
... 67 more
Caused by: java.lang.ClassNotFoundException: java.lang.ProcessBuilder
at jdk.nashorn.internal.runtime.Context.findClass(Context.java:1169) ~
at jdk.nashorn.internal.objects.NativeJava.simpleType(NativeJava.java:546) ~
at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:326) ~
at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:318) ~
at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:314) ~
at jdk.nashorn.internal.scripts.Script$Recompilation$475$1455A$\^eval\_.o#execLinuxCmd(<eval>:47) ~[?:?]
at jdk.nashorn.internal.scripts.Script$Recompilation$474$\^eval\_.o(<eval>:65) ~[?:?]
at jdk.nashorn.internal.scripts.Script$Recompilation$473$\^eval\_.:program(<eval>:1) ~[?:?]
at jdk.nashorn.internal.runtime.ScriptFunctionData.invoke(ScriptFunctionData.java:655) ~
at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ~
at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ~
at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:428) ~
at jdk.nashorn.api.scripting.NashornScriptEngine$3.eval(NashornScriptEngine.java:521) ~
at com.x.base.core.project.scripting.JsonScriptingExecutor.eval(JsonScriptingExecutor.java:225) ~
at com.x.program.center.jaxrs.agent.ActionExecute.execute(ActionExecute.java:80) ~
... 67 more
但是我在其他服务管理的脚本中,使用了如:
var ArrayList = Java.type('java.util.ArrayList');
var NameValuePair = Java.type('com.x.base.core.project.bean.NameValuePair');
var HttpConnectionClass = Java.type('com.x.base.core.project.connection.HttpConnection');
都是正常使用的。请问var ProcessBuilder = Java.type('java.lang.ProcessBuilder'); 有是平台有什么限制吗?
安全考虑,系统默认这里是禁掉的,您需要用的话这里可以去掉
论坛管理员 发表于 2023-2-20 10:14
安全考虑,系统默认这里是禁掉的,您需要用的话这里可以去掉
好的。感谢,我试一下 :handshake
页:
[1]