Variables d'environnement dans Eclipse
Je suis capable d'exécuter un exemple de programme hadoop à partir de l'invite de commande et j'essaie d'exécuter le même programme à partir D'Eclipse, afin que je puisse le déboguer et le comprendre mieux.
Pour le programme en ligne de commande, certaines variables d'environnement sont définies dans le .bashrc
et sont en cours de lecture comme System.getenv().get("HADOOP_MAPRED_HOME")
dans hadoop programme. Mais, quand j'exécute un programme java avec System.getenv().get("HADOOP_MAPRED_HOME")
, à partir D'Eclipse, je reçois null.
J'ai essayé de passer {[3] } aux paramètres VM dans les configurations d'exécution de Eclipse, mais toujours NULL dans le programme autonome. Comment rendre les variables d'environnement visibles dans Eclipse? Quand je itérer System.getenv()
dans Eclipse, je vois beaucoup de variables, comme DISPLAY
, USER
, HOME
et pour les autres. Où sont-elles définies? J'utilise Ubuntu 11.04.
6 réponses
Le .le fichier bashrc est utilisé pour définir les variables utilisées par les shells de connexion interactifs. Si vous voulez que ces variables d'environnement soient disponibles dans Eclipse, vous devez les mettre dans /etc/environment.
Vous pouvez également définir une variable d'environnement visible uniquement dans Eclipse.
Allez dans Exécuter - > Exécuter des Configurations... et Sélectionnez l'onglet "Environnement".
Là, vous pouvez ajouter plusieurs variables d'environnement qui seront spécifiques à votre application.
J'ai créé un plugin eclipse pour cela, parce que j'ai eu le même problème. N'hésitez pas à télécharger et à y contribuer.
Il est encore au début du développement, mais il fait déjà son travail pour moi.
Vous pouvez définir le répertoire personnel Hadoop en envoyant un-Dhadoop.maison.dir à la machine virtuelle. Pour envoyer ces paramètres à toutes vos applications que vous exécutez dans eclipse, vous pouvez les définir dans Window- > Preferences - > Java - > Installed JRES - > (sélectionnez votre installation JRE) - > Edit.. - >(définissez la valeur dans la zone de texte" default VM arguments:"). Vous pouvez remplacer ${HADOOP_HOME} par le chemin d'accès à votre installation Hadoop.
Vous pouvez également démarrer eclipse dans un shell.
Vous exportez l'enronment, avant d'appeler eclipse.
Par exemple.
#!/bin/bash
export MY_VAR="ADCA"
export PATH="/home/lala/bin;$PATH"
$ECLIPSE_HOME/eclipse -data $YOUR_WORK_SPACE_PATH
Ensuite, vous pouvez avoir plusieurs instances sur eclipse avec leur propre environnement custome, y compris l'espace de travail.
Pour les personnes qui veulent remplacer la Variable d'environnement du système d'exploitation dans le projet Eclipse, reportez-vous également à la réponse @ MAX.
C'est utile lorsque vous avez release project end eclipse project sur la même machine.
Le projet release peut utiliser la Variable D'environnement OS pour l'utilisation du test et eclipse project peut la remplacer pour l'utilisation du développement.