jdk8 hutool 5.0.5
String exec = JschUtil.exec(session, "ls", CharsetUtil.CHARSET_UTF_8);
运行结果不正确 命令执行结果为空
用以下代码就可以获取到命令执行结果
Channel channel = session.openChannel("exec");
((ChannelExec) channel).setCommand("ls");
channel.setInputStream(null);
((ChannelExec) channel).setErrStream(System.err);
InputStream inputStream = channel.getInputStream();
channel.connect();
String str = IoUtil.read(inputStream, "utf-8");
我看exec方法源码中创建channel使用的是
ChannelExec channel = (ChannelExec)openChannel(session, ChannelType.EXEC);
这里是不是应该用
ChannelExec channel = (ChannelExec)createChannel(session, ChannelType.EXEC);
这个我稍后本地测试下。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
JschUtil 362 换成
ChannelExec exec = (ChannelExec) JschUtil.createChannel(session, ChannelType.EXEC);
确实可以,今天下午用JschUtil.exe()确实不行,不会执行,也没有返回信息。
2.JschUtil.createSftp(session).upload(srcFilePath, destFile);上传文件指定目录会把目录中斜杠去掉和文件名加在一起。
希望作者尽快发版。谢谢
5.0.7修复问题。
1、确实存在
2、upload方法之前逻辑有误,我改了下下此方法。尝试看是否有问题。
java执行一条启动应用的命令,会出现长时间阻塞,工具类该怎么调用?大佬,请给一个示例
登录 后才可以发表评论