IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

transfert SCP en java


Sujet :

API standards et tierces Java

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : Finance

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut transfert SCP en java
    Bonjour,

    malgré mes recherches sur le forum, je ne suis pas parvenu à trouver mon bonheur.

    Je m'explique :

    je cherche à envoyer un fichier qui se situe sur mon poste de travail, vers un serveur unix, en commande java.

    De base j'utilisais le logiciel winSCP, mais j'aimerais m'en passer, et donc effectuer l'équivalent en commande java.

    j'ai essayé diverses méthodes, et celle qui me parait la plus proche de la vérité est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    String protocole = "scp";
    String fichier = "D:\\archive.zip";
    String emplacement = "toto@serveur.dns.xxx/home/toto";
    Runtime runtime = Runtime.getRuntime();
    runtime.exec(new String[] { protocole ,fichier,emplacement });
    mais cela ne marche pas...

    une idée ?

    Merci

    Julien

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Bonjour,

    La méthode exec(...) retourne un objet de type Process sur lequel tu peux récupérer la sortie d'erreur pour voir ce qui ne va pas.

    Autre question, la commande scp se trouve-t-elle bien dans ton PATH windows ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : Finance

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Bonjour et merci pour la réponse.

    je suis en train d'effectuer les tests sur la sortie du Process, et apparemment, la commande scp ne doit pas se trouver dans mon PATH windows.

    comment puis-je la renseigner ?

    Merci

    Julien

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    As-tu installé une commande SCP ? Windows n'en dispose pas il me semble par défaut.

    Sinon il faut modifier ta variable d'environnement PATH de windows pour y ajouter le dossier qui contient ton fichier .exe. ==>

  5. #5
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Oui ou alors mettre scp.exe (ou l'equivalent et ses dependances) dans le repertoire de l'application (oui, il arrive qu'on puisse pas intaller ou changer le path sur certains systeme de certaiens boites).

    Mais pourquoi ne pas utiliser une librairie ?

    Ca sera surement moins cochon que d'utiliser process ^^ http://www.jcraft.com/jsch/
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : Finance

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    j'ai pu modifier la variable PATH grâce mon ami google

    mais je n'arrive toujours pas à lancer "pscp.exe".

    je m'étais renseigné au sujet de Jsch, mais je trouve que c'est une usine à gaz pour ce que je veux faire ...

    des idées ?

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Citation Envoyé par Adampaige Voir le message
    mais je n'arrive toujours pas à lancer "pscp.exe"
    Un message d'erreur ou une StackTrace pourrait aider...

    Si tu tapes "pscp" dans une console windows il te trouve la commande ?

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : Finance

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    voici la StackTrace :

    Exception in thread "main" java.io.IOException: Cannot run program "pscp.exe": CreateProcess error=2, Le fichier spécifié est introuvable

    j'ai essayé de taper pscp dans la console windows, et cette commande n'est pas reconnue en tant que commande interne...

    je suis en train de me tourner vers Jsch, mais j'aimerais bien quand même savoir où est mon erreur

  9. #9
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 075
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 075
    Points : 7 981
    Points
    7 981
    Par défaut
    Citation Envoyé par Adampaige Voir le message
    j'ai essayé de taper pscp dans la console windows, et cette commande n'est pas reconnue en tant que commande interne...
    Tu décris toi même ton erreur en fait

    Tant que tu ne sais pas tapper pscp.exe dans la console (pour peu que pscp soit dans le path) sans qu'il t'indique ce message, alors il te reste à placer le fichier EXE la ou ton programme java est censé tourner (ce que j'ai dit plus haut dans le cas ou tu ne peux toucher au path ce qui ne semble quand meme pas ton cas).
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Février 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : Finance

    Informations forums :
    Inscription : Février 2013
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    J'ai du nouveau

    j'arrive à exécuter ma commande avec cmd mais je n'arrive pas à faire l'équivalent avec le runtime.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Process process = runtime.exec(new String[]{"C:\\windows\\system32\\cmd.exe","/K","C:\\pscp.exe","C:\\archive.zip","toto@serveurtoto.dns12.toto:/home/toto/"});

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. transfert FTP copy java host
    Par Invité dans le forum Cobol
    Réponses: 3
    Dernier message: 14/07/2014, 10h16
  2. problème dans transfert scp
    Par genio dans le forum Linux
    Réponses: 2
    Dernier message: 11/10/2012, 14h17
  3. Transfert fichier socket Java
    Par othelm123 dans le forum Langage
    Réponses: 1
    Dernier message: 10/11/2011, 14h27
  4. SSH/SCP en Java
    Par pouillot1979 dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 14/08/2008, 10h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo