83 votes

scp via java

Quelle est la meilleure méthode est de faire un scp de transfert via le langage de programmation Java? Il semble que je peut être en mesure d'effectuer cette via JSSE, JSch ou le château gonflable bibliothèques java. Aucune de ces solutions ne semblent avoir une réponse facile.

59voto

Tim Howland Points 5705

J'ai fini par utiliser Jsch- il était assez simple, et semblait échelle assez bien (j'ai été saisissant quelques milliers de fichiers en quelques minutes).

24voto

shikhar Points 962

plug: sshj est le seul choix sain! Voir ces exemples pour commencer: télécharger, télécharger.

17voto

abarax Points 1918

Jetez un oeil ici

C'est le code source pour les Fourmis' SCP tâche. Le code de la méthode "execute" est l'endroit où les écrous et les boulons. Cela devrait vous donner une idée juste de ce qui est nécessaire. Il utilise JSch je crois.

Sinon vous pouvez aussi directement à l'exécution de cette tâche Ant à partir de votre code java.

7voto

Will Points 2403

J'ai enveloppé Jsch avec quelques méthodes utiles pour le rendre un peu plus convivial, et l'a appelé

Jscp

Disponible ici: https://github.com/willwarren/jscp

SCP utilitaire tar un dossier zip, et scp-il quelque part, puis décompressez-le.

Utilisation:

// create secure context
SecureContext context = new SecureContext("userName", "localhost");

// set optional security configurations.
context.setTrustAllHosts(true);
context.setPrivateKeyFile(new File("private/key"));

// Console requires JDK 1.7
// System.out.println("enter password:");
// context.setPassword(System.console().readPassword());

Jscp.exec(context, 
           "src/dir",
           "destination/path",
           // regex ignore list 
           Arrays.asList("logs/log[0-9]*.txt",
           "backups") 
           );

Comprend également des classes utiles - Scp et Exec, et un TarAndGzip, qui fonctionnent à peu près de la même façon.

3voto

Kyle Burton Points 10471

Le projet openssh listes de plusieurs Java alternatives, Trilead SSH pour Java semble correspondre à ce que vous me demandez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X