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 :

Runtime.getRuntime().exec chemin d'execution


Sujet :

API standards et tierces Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Points : 12
    Points
    12
    Par défaut Runtime.getRuntime().exec chemin d'execution
    Bonjour,

    Dans le cadre d'un projet j'ai besoin d'utiliser un programme externe codé en C depuis une application JAVA.

    Pour cela est utilisé la méthode getRuntime().exec() mais bizarrement si le chemin d'execution de l'application n'est pas écrit au complet ("C:\Programs\myprogram.exe" par exemple) celui ci cherche depuis le bureau.

    Ceci pourrait-il venir d'Eclipse, un paramètre quelconque que je n'arrive pas à régler ?

    Le problème s'effectue également sur une validation de fichiers XML faite à partir de DTD qui, si elles ne se trouvent pas sur le bureau, ne marchent pas.

    Merci d'avance pour votre aide.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Si tu ne précise pas le chemin complet, la recherche se fera dans dossier courant puis dans le PATH. Le dossier courant pouvant être tout et n'importe quoi suivant comment ton application a été lancée, il peux très bien être le bureau. C'est une bonne pratique de donner le chemin complete, sauf si l'application est supposée être dans le PATH (comme notepad par exemple).

    A note que ça n'a rien à voir avec java, c'est l'OS qui fonctionne ainsi, java se contente de prendre les paramètres que tu lui donne, de les transférer à l'OS et d'enrober la réponse dans des objets JAVA.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2010
    Messages : 16
    Points : 12
    Points
    12
    Par défaut
    Merci pour la réponse, le problème avec les chemins complets c'est que ce n'est pas très portable d'un OS à l'autre voire même d'une machine à une autre. Un chemin relatif serait nettement plus approprié mais je ne comprends pas pourquoi il prend le bureau comme racine.

    De plus comme mentionné précédemment, mes DTD subissent le même problème, voilà pourquoi j'avais pensé à une mauvaise config de l'IDE.

    Je vais essayer de tester sans Eclipse pour voir où il va me chercher tout ça.
    A noter également que le chemin courant devrait être mon workspace au minimum qui lui n'est absolument pas sur le bureau.


  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Points : 48 804
    Points
    48 804
    Par défaut
    Citation Envoyé par Meta4 Voir le message
    A noter également que le chemin courant devrait être mon workspace au minimum qui lui n'est absolument pas sur le bureau.

    Non, le chemin courant, c'est de la roulette russe, ce n'est pas nécessairement là où se trouvent les classes / les .jar

    Par contre, si ça peux t'aider, en jouant avec

    TaClass.class.getProtectionDomain().getCodeSource().getLocation() tu arrive à déterminer où se trouve le jar de la classe / le dossier parent à tous les .class

Discussions similaires

  1. [Système][Runtime]getRuntime().exec
    Par Neptune8 dans le forum API standards et tierces
    Réponses: 11
    Dernier message: 22/02/2011, 20h34
  2. Runtime.getRuntime().exec sous linux
    Par syl2095 dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 30/01/2007, 13h56
  3. Runtime.getRuntime().exec(String) méthode sort
    Par devAd dans le forum Langage
    Réponses: 4
    Dernier message: 28/11/2006, 14h53
  4. [Runtime.getRuntime().exec] ouvrir un fichier ??
    Par miloud dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 29/03/2006, 15h23
  5. [Swing] execution avec Runtime.getRuntime().exec
    Par benssj5 dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 25/08/2004, 15h54

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