【问题标题】:setConfig(Properties) in the type Session is not applicable for the arguments (String, String)”Session 类型中的 setConfig(Properties) 不适用于参数 (String, String)”
【发布时间】:2017-08-22 08:27:48
【问题描述】:

这里已经有人问过这个问题:"The method setConfig(Properties) in the type Session is not applicable for the arguments (String, String)" 一年多以前,但它没有任何答案,我现在也有同样的问题。

很遗憾,我在 Google 上没有找到更多内容。

import com.jcraft.jsch.*;
import java.io.*;
import java.util.Properties 

JSch jsch = new JSch();
String user = "myUserId";
String host = "myHost";
Session session = jsch.getSession(user, host, 22);
session.setConfig("StrictHostKeyChecking", "no");

我的代码就是这么简单,我收到以下消息:

类型Session中的setConfig(Properties)方法不是 适用于参数(字符串,字符串)。

所以我尝试了另一种方法来做同样的事情,但它不起作用是不正常的。有谁知道问题出在哪里?

【问题讨论】:

    标签: java session jsch


    【解决方案1】:

    在最新的 JSch 0.1.55 中有三个 Session.setConfig 重载:

    public void setConfig(java.util.Properties newconf)
    public void setConfig(java.util.Hashtable newconf)
    public void setConfig(String key, String value)
    

    如果你没有第三个重载,你一定是在使用一些非常旧的 JSch 版本。重载是在 2007 年的 JSch 0.1.34 中引入的!

    【讨论】:

    • 好的,很好!谢谢,我有 0.1.31,就是这样!我以为我已经下载了最后一个...祝你有美好的一天
    【解决方案2】:

    https://epaul.github.io/jsch-documentation/simple.javadoc/com/jcraft/jsch/JSch.html#setConfig-java.lang.String-java.lang.String-

    正如文档中所说,它是一个静态方法,因此它应该是“会话”,其中 Session 是类而不是对象会话。我希望你能理解其中的区别。

    【讨论】:

    • 谢谢。是的,我得到了区别,但我不明白为什么代码在这个例子中有效:stackoverflow.com/questions/15108923/… 我看不出这段代码和我的代码有什么区别......我也想做同样的事
    • @zenki1201 那是JSch.setConfig,而问题是关于Session.setConfig
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-25
    • 2011-12-03
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    相关资源
    最近更新 更多