L'implementazione basata su "jsch" funziona per me.
Ma non sembra moderno a causa dell'utilizzo di Vector (vecchia raccolta Java stile).
Ho trovato che le altre implementazioni sono meno popolari e non documentate.
Potete consigliare l'implementazione della libreria SFTP che ha una buona esperienza con esso.
Grazie.Alla ricerca di una libreria java SFTP moderna, non jsch
risposta
Come detto @dty, a patto che l'applicazione possa funzionare senza problemi perché si cura l'uso di classi/metodi deprecati nella libreria?
Devi solo preoccuparti di quello che stai chiamando, non come funziona all'interno.
Puoi anche usare gli strumenti di astrazione sopra JSch, ma non cambierà nulla.
È anche possibile verificare le alternative JSch, ma poiché JSch è ampiamente utilizzato avrete probabilmente meno bug con esso.
Funziona. A chi importa se usa Vector
? È di gran lunga il più popolare. In effetti, è l'unico a cui riesco a pensare senza ricorrere a Google.
http://stackoverflow.com/questions/1386275/why-java-vector-class-is-considered-obsolete-or-deprecated – Boris
Hai un punto? So che Vector è sincronizzato. Ma: a) il sovraccarico di sincronizzazione è virtualmente zero su una JVM moderna con blocchi incontrastati, e b) si sta parlando di una manciata di cicli aggiuntivi del processore rispetto al carico delle comunicazioni di rete con crittografia. – dty
Inoltre, Vector non è realmente utilizzato nelle sezioni critiche per le prestazioni, se non si dispone di zillioni di identità e si aprono nuove connessioni per tutto il tempo. –
Si potrebbe anche voler dare un'occhiata a IP*Works! SSH dal/n software.
Non che io giudichi lo strumento, ma $ 899 sembra costoso per sbarazzarsi di alcuni 'Vector' –
C'è una nuova "versione" di Jsch su github. È un grande miglioramento per la biblioteca esistente in molti modi. Controlla il README sul sito e il javadoc completo per maggiori informazioni. https://github.com/vngx/vngx-jsch. È anche disponibile sulla maggior parte dei repository Maven ed è compatibile con OSGi. Ci sono alcune alternative, ma questa è solida e credo sia la più aggiornata (spec/code/docs). Disclaimer: I am a contributor.
Ho appena trovato questo ... e vedo che hai fatto alcune delle stesse cose che ho fatto anch'io con il mio [jsch-documentation ] (http://github.com/epaul/jsch-documentation) versione (che non modifica alcuna funzionalità, principalmente aggiunge documentazione). Penso che la ragione principale per cui il JSch originale non è aggiornato per usare le classi moderne, i generici e così via è che dovrebbe essere ancora utilizzabile con le vecchie macchine virtuali (e anche con i dispositivi di fascia bassa). –
Inoltre, hai provato a contattare l'autore originale? Esiste una [mailing list attiva] (http://sourceforge.net/mailarchive/forum.php?forum=jsch-users). –
Siamo più interessati alle prestazioni e alla qualità del codice rispetto al supporto legacy.Per non parlare di tutto può essere facilmente retrocesso a seconda delle necessità. Ci sono molte correzioni di bug e miglioramenti dell'usabilità oltre a miglioramenti delle prestazioni e aderenza delle specifiche. È per lo più riscritto internamente, ma con una API che sarà comoda per gli utenti di jsch, e dal momento che la base di codice è originata da jsch, noi rendiamo alcuni omaggi includendola nel nome. Non abbiamo contattato nessuno questo è un fork completamente indipendente del progetto. – Scott
Un'alternativa commerciale più economica (il mio prodotto, per la divulgazione), è edtFTPj/PRO.
Ho utilizzato questa libreria https://github.com/shikhar/sshj/. Ha un'API eccellente [Richiede Java 6].
- 1. Copia di un file in sftp con libreria jsch
- 2. JSch sftp upload/download progress
- 3. Come risolvere Java UnknownHostKey, mentre si utilizza la libreria JSch SFTP?
- 4. SFTP tramite JSch genera un errore 4: Errore
- 5. Download di file da un server SFTP usando JSch
- 6. JSCH - Chiave privata non valida
- 7. JSCH: SFTP. Si blocca su session.connect() utilizzando la porta 21
- 8. Caricamento SFTP Java usando JSch, ma come sovrascrivere il file corrente?
- 9. Ricerca di una libreria java che ha implementato l'albero binario
- 10. Ricerca libreria di correttore ortografico Java
- 11. Connessione SFTP tramite Java che richiede un'autenticazione strana
- 12. Download di più file tramite SFTP utilizzando Java
- 13. Perché esiste ancora una connessione SFTP dopo che il canale JSCH è stato chiuso?
- 14. JSch Come riutilizzare una sessione
- 15. Alla ricerca di una semplice cache in memoria Java
- 16. Codici di errore errore Jsch non coerenti
- 17. Errore Jsch - impossibile inviare richiesta canale
- 18. Possiamo usare JSch per la comunicazione basata su chiave SSH?
- 19. Esiste una libreria Java di funzioni Unix?
- 20. A quale n la ricerca binaria diventa più veloce della ricerca lineare su una CPU moderna?
- 21. Alla ricerca di una funzione hash veloce
- 22. Magento wsdl. Alla ricerca di una guida
- 23. Alla ricerca di una formula interessante
- 24. Versione moderna di WinDiff?
- 25. alla ricerca di una libreria reattiva per la creazione di librerie javascript
- 26. moderna supporto della lingua + = ma non && =
- 27. Libreria SSH conforme a FIPS per Java
- 28. Ricerca di una libreria di alto livello per la programmazione socket (Java o Python)
- 29. Alla ricerca di una buona libreria wavelet C/C++ per l'elaborazione del segnale
- 30. Ricerca di framework/libreria esecuzione asincrona generica in Java
Il problema con le vecchie implementazioni SSH è che tale implementazione di solito non funziona bene con le versioni successive del software server SSH. Quindi è necessario fornire una manutenzione per una migliore compatibilità e questo è ciò che le implementazioni open-source non riescono a offrire. –
L'indizio è nel nome ... se è open-source e vuoi che una nuova funzionalità supporti "versioni successive del software server SSH", devi solo implementarla tu stesso. – dty