首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jsch抑制: java.lang.ClassNotFoundException: Lorg.ietf.jgss.Oid

Jsch抑制: java.lang.ClassNotFoundException: Lorg.ietf.jgss.Oid
EN

Stack Overflow用户
提问于 2015-02-09 13:43:28
回答 1查看 1.5K关注 0票数 3

出于某种原因,在升级到Lollipop ( 5.0.2 )之后,jsch停止了工作。我知道这个错误。

代码语言:javascript
复制
 Caused by: java.lang.ClassNotFoundException: Didn't find class
    "Lorg.ietf.jgss.Oid" on path: DexPathList[[zip file"/data/app
    /com.**-1/base.apk"],nativeLibraryDirectories= [/vendor/lib, 
    /system/lib]] 
 at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
 at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
 at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
 ... 14 more
 Suppressed: java.lang.ClassNotFoundException: org.ietf.jgss.Oid 
 at java.lang.Class.classForName(Native Method) 
 at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
 at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
 at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
 ... 15 more
 Caused by: java.lang.NoClassDefFoundError: Class not found using the
 boot class loader; no stack available

这是我的密码。

代码语言:javascript
复制
try {
    JSch jsch = new JSch();
    session = jsch.getSession(userName, remoteHost, port);
    session.setPassword(userPassword);

    Properties prop = new Properties();
    prop.put("StrictHostKeyChecking", "no");
    session.setConfig(prop);

    session.connect();

    channel = session.openChannel("sftp");          
    channel.connect();
    channelSftp = (ChannelSftp)channel;

} catch (Exception ex) {
    ex.printStackTrace();
    session.disconnect();
}

我检测到在添加属性时出现问题,只有在执行"StrictHostKeyChecking",时程序才会关闭。

如果省略此属性,则程序不会失败,但无法连接。

知道吗?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-10 14:02:24

我也有同样的问题。这个问题是由于没有发现与GSS一起使用的Lorg.ietf.jgss.Oid引起的.我发现,选择密码身份验证可以避免这种情况:

代码语言:javascript
复制
try {
    JSch jsch = new JSch();
    session = jsch.getSession(userName, remoteHost, port);
    session.setPassword(userPassword);

    Properties prop = new Properties();
    prop.put("StrictHostKeyChecking", "no");
    session.setConfig(prop);

    session.setConfig("PreferredAuthentications",
                "password"); //add this line to your code

    session.connect();

    channel = session.openChannel("sftp");          
    channel.connect();
    channelSftp = (ChannelSftp)channel;

} catch (Exception ex) {
    ex.printStackTrace();
    session.disconnect();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28411153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档