首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >抛出NoClassDefFoundError: net/schmizz/ sshj /SSHClient

抛出NoClassDefFoundError: net/schmizz/ sshj /SSHClient
EN

Stack Overflow用户
提问于 2013-11-22 11:17:22
回答 1查看 1.7K关注 0票数 0

下面的代码是抛出以下错误,只有我能在谷歌上找到的信息涉及日志错误,但没有任何看起来像我的。我已经尝试过安装依赖关系,它说,需要在中央maven回购,但问题仍然存在。有人知道为什么我上课没有发现例外吗?

代码语言:javascript
复制
import java.io.IOException;
import java.util.concurrent.TimeUnit;

import net.schmizz.sshj.SSHClient;
import net.schmizz.sshj.common.IOUtils;
import net.schmizz.sshj.connection.channel.direct.Session;
import net.schmizz.sshj.connection.channel.direct.Session.Command;

public class ConnectSSH {

public void connecting() throws IOException {

    @SuppressWarnings("resource")
    final SSHClient ssh = new SSHClient();

    ssh.loadKnownHosts();
    ssh.connect("*******");

    try {
        ssh.authPassword("*****", "*****");
        final Session session = ssh.startSession();
        try {
            final Command cmd = session.exec("*****");
            System.out.print(IOUtils.readFully(cmd.getInputStream()));
            cmd.join(5, TimeUnit.SECONDS);
            System.out.print("\n** exit status: " + cmd.getExitStatus());
        } finally {
            session.close();
        }
    } finally {
        ssh.disconnect();

    }

}

}

运行时引发下面的错误:

代码语言:javascript
复制
Exception in thread "main" java.lang.NoClassDefFoundError: net/schmizz/sshj/SSHClient
    at ssh.liq_con.stats.ConnectSSH.connecting(ConnectSSH.java:16)
    at ssh.liq_con.stats.App.main(App.java:8)
Caused by: java.lang.ClassNotFoundException: net.schmizz.sshj.SSHClient
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    ... 2 more

注:

代码语言:javascript
复制
<dependency>
            <groupId>net.schmizz</groupId>
            <artifactId>sshj</artifactId>
            <version>0.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.5</version>
        </dependency>
        <dependency>
            <groupId>org.apache.sshd</groupId>
            <artifactId>sshd-core</artifactId>
            <version>0.9.0</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcpkix-jdk15on</artifactId>
            <version>1.49</version>
        </dependency>
        <dependency>
            <groupId>com.jcraft</groupId>
            <artifactId>jzlib</artifactId>
            <version>1.1.3</version>
        </dependency>
EN

回答 1

Stack Overflow用户

发布于 2013-11-22 13:37:16

实际上,您不需要安装依赖项-它们是由Maven自动获取的。这可能是类路径的问题,您可以尝试将其作为public static void main(String[])的第一行添加。

代码语言:javascript
复制
System.out.println(System.getProperty("java.class.path"));

以确保您的类路径中有sshj-0.9.0.jar

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20143588

复制
相关文章

相似问题

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