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

Langage Java Discussion :

Java Sandbox et variables d'environnement


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Par défaut Java Sandbox et variables d'environnement
    Bonjour,

    Je travaille actuellement sur un logiciel de synchronisation utilisant le logiciel rsync. Ce logiciel est intégré en natif aux systèmes Unix, mais pas à Windows; c'est pourquoi j'utilise rsync.exe.
    Le mot de passe de connexion au serveur peut être fourni à rsync selon deux principes :
    • un fichier contenant le mot de passe; problème : ce fichier ne doit être accessible qu'à "USER" et non au "reste du monde". Concepts qui sous Windows n'existent pas (corrigez moi si je me trompe).
    • une variable d'environnement RSYNC_PASSWORD


    D'après ce que j'ai pu remarquer, Java fait une copie de l'environnement (SANDBOX ?),incluant les variables d'environnement, à l'exécution du programme. Si j'ajoute une variable d'environnement en cours d'exécution, je dois redémarrer le programme afin que la nouvelle copie de l'environnement contienne la variable précédemment évoquée.

    Ma question : Comment ajouter une variable directement dans la copie de l'environnement effectuée par Java, afin d'éviter le redémarrage du programme?

    Merci d'avance pour votre aide et vos renseignements.

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Si tu veux démarrer un programme avec des variable d'environement particulières, le mieux est d'utiliser la classe ProcessBuilder.
    Tu ne peux pas modifier les variables en cours d'exécution du programme mais tu peux le faire avant.

    Par exemple dans ton cas il faudrait quelquechose comme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ProcessBuilder pb = new ProcessBuilder("rsync.exe","parametre1","parametre2");
    pb.environment().put("RSYNC_PASSWORD","MonMotDePasse");
    Process p = pb.start();

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2009
    Messages : 22
    Par défaut
    Merci beaucoup, cela a permis de résoudre mon problème et par la même occasion "d'unifier" la procédure entre MAC et Windows!

    Juste pour ma connaissance personnelle, ce processus de "copie" de l'environnement au démarrage de l'application résulte-t-il bien de la Sandbox ou cela n'a-t-il aucun rapport ?

    Quoi qu'il en soit, merci

  4. #4
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Non ce n'est pas particulier à la sandbox. Quand une application crée un processus, elle est libre de choisir les variables d'environnement qu'elle veut lui passer, même si généralement elles passent leur propres variables d'environnement.

    Par exemple les shells scripts comme bash ou ksh va transmettre les variable qu'il ont été déclaré avec le mot clé export mais pas les autres. Je ne sais pas ce qu'il en est sous windows.

Discussions similaires

  1. Variable d'environnement, traduction .bat -> java
    Par babap1 dans le forum Langage
    Réponses: 12
    Dernier message: 17/07/2008, 20h03
  2. java et variable d'environnement
    Par soujava dans le forum Débuter avec Java
    Réponses: 1
    Dernier message: 21/05/2008, 10h00
  3. Réponses: 13
    Dernier message: 31/01/2007, 23h22
  4. Comment acceder aux variables d'environnement en JAVA ?
    Par Battosaiii dans le forum Langage
    Réponses: 2
    Dernier message: 09/11/2006, 18h47
  5. Réponses: 8
    Dernier message: 12/04/2006, 15h02

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