выдает в то время как SSH при использовании SSH в Java - PullRequest
2 голосов
/ 02 сентября 2010

Я пытаюсь получить удаленное соединение с сервером для выполнения некоторых команд. Я новичок в этом, так что начал гуглить. После некоторых поисков я попробовал:

Я использую sshj0.2.3.jar.

А вот как я это реализовал:

public static void main(String[] args) throws IOException {
    // TODO Auto-generated method stub
    final SSHClient ssh = new SSHClient();
    ssh.loadKnownHosts();
    ssh.connect("serverName");
    try{
        ssh.authPublickey("myUserId");
        final Session session = ssh.startSession();
        try{
            final Command cmd = session.exec("net send myMachineName Hello!!!");
            System.out.println(cmd.getOutputAsString());
            System.out.println("\n Exit Status: "+cmd.getExitStatus());
        }finally{
            session.close();
        }
        }finally{
            ssh.disconnect();
        }   
    }

}

Но я получаю следующее исключение:

    Exception in thread "main" java.lang.NoClassDefFoundError: org.slf4j.LoggerFactory
    at net.schmizz.sshj.DefaultConfig.(DefaultConfig.java:92)
    at net.schmizz.sshj.SSHClient.(SSHClient.java:133)
    at SSHTEST.main(SSHTEST.java:24)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader.findClass(URLClassLoader.java:419)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:643)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:345)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:609)
    .....

Нужны ли мне дополнительные банки, Сколько нужно дополнительных банок. Я правильно внедряю? пожалуйста, помогите.

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 02 сентября 2010

Из поиска в Google sshj, первый результат показывает ответ:

1007 * Зависимость *

Java 6+. slf4j требуется. bouncycastle настоятельно рекомендуется и требуется для использования некоторых крипто алгоритмы. jzlib требуется для используя сжатие zlib.

2 голосов
/ 02 сентября 2010

Да, вам нужны банки для slf4j (см. 2-страничное руководство )

slf4j поставляется с API, а затем с подключаемой реализацией, но предложенный slf4j-simple должен быть в порядке

1 голос
/ 04 сентября 2010

slf4j - это просто фасад, и вам нужно предоставить конкретную реализацию.Если вы не очень заинтересованы в ведении журнала, вставьте slf4j-nop - $ (ver) .jar, который присутствует в дистрибутиве slf4j.

...