Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Problema Con Java

    Ciao a tutti!!!
    Nn sono un esperto di java, le mie conoscenze sono molto limitate

    Ho neccessità di usare la libreria jsch per creare un cliente ssh.

    Ho scaricato la libreria dal sito, per compilare il codice mi sposto nella cartella dei sorgenti e do il comando :

    codice:
    javac *.java 
    Note: Some input files use unchecked or unsafe operations.
    Note: Recompile with -Xlint:unchecked for details.

    Poi voglio testare un esempio, quindi vado nei sorgenti e compilo l'esempio nel seguente modo :
    javac Shell.java -cp ../src/ , e fin qui nessun errore.
    Ma quando provo ad esegurilo ottengo il seguente errore:
    codice:
    java Shell 
    
    $ java Shell
    Exception in thread "main" java.lang.NoClassDefFoundError: com/jcraft/jsch/UserInfo
    	at java.lang.Class.getDeclaredMethods0(Native Method)
    	at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
    	at java.lang.Class.getMethod0(Class.java:2685)
    	at java.lang.Class.getMethod(Class.java:1620)
    	at sun.launcher.LauncherHelper.getMainMethod(LauncherHelper.java:484)
    	at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:476)
    Caused by: java.lang.ClassNotFoundException: com.jcraft.jsch.UserInfo
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    	at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    	at java.security.AccessController.doPrivileged(Native Method)
    	at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
    	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    	at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    	... 6 more
    Mi sapete aiutare ? Grazie

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    In primis, il titolo della discussione deve dare un'idea del contenuto: in questo forum tutt i problemi riguardano Java, quindi il tuo titolo era assolutamente inadeguato. Ho corretto io.

    Per il tuo problema, si tratta delle basi di Java: se una classe risiede in un package x.y.z, per eseguirla devi portarti nel livello immediatamente superiore rispetto ad "x" e lanciare la classe preceduta da tutta l'indicazione del suo package. Se la passe, ad esempio si chiama Pippo, io devo essere posizionato "fuori" (quindi a livello superiore) della directory "x" e lanciare questo comando:

    codice:
    java x.y.z.Pippo
    Nel tuo caso, quindi, devi capire qual è il package della classe Shell (è la prima riga del sorgente), posizionarti fuori della prima directory e lanciare la classe. Se ad esempio il suo package è "com.jcfaft.jsch", questo è il comando

    codice:
    java com/jcraft/jsch/Shell
    se "Shell" è la classe contenente il main.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.