2013-11-22 3 views
0

Мой код ниже бросает следующий Ошибка и только информация, которую я могу найти в Google, связана с ошибками регистрации, но ничего похожего на мое. Я попытался установить зависимости, которые, по его словам, необходимы для центрального репозитория maven, но проблема остается. Кто-нибудь знает, почему я получаю класс не найденных исключений?sshj 0.9.0 throwing NoClassDefFoundError: net/schmizz/sshj/SSHClient

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(); 

    } 

} 

}


Ошибка ниже брошено при запуске:

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 

Примечание я есть:

<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> 

ответ

1

Вы actuall y не нужно устанавливать зависимости - они автоматически набираются Maven. Это может быть проблема с пути к классам, вы можете попробовать добавить в первой строке вашего public static void main(String[]):

System.out.println(System.getProperty("java.class.path")); 

, чтобы убедиться, что у вас есть sshj-0.9.0.jar в вашем пути к классам.

Смежные вопросы