查看: 9571|回复: 3

Java.type('java.lang.ProcessBuilder')的引用问题

升级   5.93%

44

主题

68

回帖

593

积分

注册会员

Rank: 2

积分
593
发表于 2023-2-20 09:12:10 | 显示全部楼层 |阅读模式
管理大大
我们在“服务管理”写了一些业务处理逻辑,用到了

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) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:428) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.api.scripting.NashornScriptEngine$3.eval(NashornScriptEngine.java:521) ~[jdk.scripting.nashorn:?]

        at com.x.base.core.project.scripting.JsonScriptingExecutor.eval(JsonScriptingExecutor.java:225) ~[x_base_core_project.jar:?]

        at com.x.program.center.jaxrs.agent.ActionExecute.execute(ActionExecute.java:80) ~[classes/:?]

        ... 67 more

Caused by: java.lang.ClassNotFoundException: java.lang.ProcessBuilder

        at jdk.nashorn.internal.runtime.Context.findClass(Context.java:1169) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.internal.objects.NativeJava.simpleType(NativeJava.java:546) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:326) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:318) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.internal.objects.NativeJava.type(NativeJava.java:314) ~[jdk.scripting.nashorn:?]

        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) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.internal.runtime.ScriptFunction.invoke(ScriptFunction.java:513) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.internal.runtime.ScriptRuntime.apply(ScriptRuntime.java:527) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.api.scripting.NashornScriptEngine.evalImpl(NashornScriptEngine.java:428) ~[jdk.scripting.nashorn:?]

        at jdk.nashorn.api.scripting.NashornScriptEngine$3.eval(NashornScriptEngine.java:521) ~[jdk.scripting.nashorn:?]

        at com.x.base.core.project.scripting.JsonScriptingExecutor.eval(JsonScriptingExecutor.java:225) ~[x_base_core_project.jar:?]

        at com.x.program.center.jaxrs.agent.ActionExecute.execute(ActionExecute.java:80) ~[classes/:?]

        ... 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'); 有是平台有什么限制吗?









回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-2-20 10:14:05 | 显示全部楼层


安全考虑,系统默认这里是禁掉的,您需要用的话这里可以去掉

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

升级   5.93%

44

主题

68

回帖

593

积分

注册会员

Rank: 2

积分
593
发表于 2023-2-20 10:34:59 | 显示全部楼层
论坛管理员 发表于 2023-2-20 10:14
安全考虑,系统默认这里是禁掉的,您需要用的话这里可以去掉

好的。感谢,我试一下
回复

使用道具 举报

升级   100%

139

主题

1万

回帖

4万

积分

超级版主

Rank: 8Rank: 8

积分
41458
发表于 2023-2-20 16:19:10 | 显示全部楼层
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread