Eclipse中的环境variables

我能够从命令提示符运行示例hadoop程序,并试图从Eclipse运行相同的程序,以便我可以debugging它,并更好地理解它。

对于命令行程序,在.bashrc中设置了一些环境variables,并在hadoop程序中读取为System.getenv().get("HADOOP_MAPRED_HOME") 。 但是,当我从System.getenv().get("HADOOP_MAPRED_HOME")运行java程序时,我得到空值。

我尝试从Eclipse -DHADOOP_MAPRED_HOME=test传递给运行时configuration中的VM参数,但在独立程序中仍然为空。 如何使Eclipse中的环境variables可见? 当我在Eclipse中通过System.getenv()进行迭代时,我看到很多像DISPLAYUSERHOME和其他variables。 他们在哪里设置? 我正在使用Ubuntu 11.04。

.bashrc文件用于设置交互式loginshell使用的variables。 如果你想在Eclipse中使用这些环境variables,你需要把它们放在/ etc / environment中。

您也可以定义一个仅在Eclipse中可见的环境variables。

转到运行 – >运行configuration…并select选项卡“环境”。

在这里输入图像说明

在那里你可以添加几个特定于你的应用程序的环境variables。

我为此创build了一个eclipse插件,因为我有同样的问题。 随意下载并作出贡献。

它还处于早期发展阶段,但它已经为我做好了工作。

https://github.com/JorisAerts/Eclipse-Environment-Variables

在这里输入图像说明

您可以通过向VM发送-Dhadoop.home.dir来设置Hadoop主目录。 要发送这个参数给你在eclipse中执行的所有应用程序,你可以在Window-> Preferences-> Java-> Installed JREs->(select你的JRE安装) – > Edit ..->中设置它们的值“默认VM参数:”文本框)。 您可以将$ {HADOOP_HOME}replace为您的Hadoop安装path。

选择用于在Eclipse中运行程序的JRE

将hadoop.home.dir属性的值作为VM参数发送

你也可以在shell中启动eclipse。

在调用eclipse之前,输出enronment。

例如#!/bin/bash export MY_VAR="ADCA" export PATH="/home/lala/bin;$PATH" $ECLIPSE_HOME/eclipse -data $YOUR_WORK_SPACE_PATH

然后你可以在eclipse上有自己的custome环境包括工作区的多个实例。

对于想要在Eclipse项目中覆盖OS的环境variables的人员,请参阅@MAX回答。

当你在同一台机器上有发布项目end eclipse项目时,这很有用。

发布项目可以使用OS环境variables作为testing用途,eclipse项目可以覆盖开发使用。