Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Ubuntu桌面12.04上设置ANT_主页?_Java_Bash_Ubuntu_Ant_Environment Variables - Fatal编程技术网

Java 如何在Ubuntu桌面12.04上设置ANT_主页?

Java 如何在Ubuntu桌面12.04上设置ANT_主页?,java,bash,ubuntu,ant,environment-variables,Java,Bash,Ubuntu,Ant,Environment Variables,它看起来像Ubuntu以非常相似的方式使用~/.bashrc,~/.bash\u profile,~/.pam\u profile,/etc/environment,和/etc/profile。我希望能够将一个配置添加到其中一个(这是最合适的配置),以将ANT\u HOME设置为ANT安装根目录的绝对路径(恰好是/opt/apache/ANT/1.8.4/apache-ANT-1.8.4/)。这个变量需要像任何普通的env变量一样被“尊重”,在这里我可以随时打开一个终端并echo它。如果我可以这

它看起来像Ubuntu以非常相似的方式使用
~/.bashrc
~/.bash\u profile
~/.pam\u profile
/etc/environment
,和
/etc/profile
。我希望能够将一个配置添加到其中一个(这是最合适的配置),以将
ANT\u HOME
设置为ANT安装根目录的绝对路径(恰好是
/opt/apache/ANT/1.8.4/apache-ANT-1.8.4/
)。这个变量需要像任何普通的env变量一样被“尊重”,在这里我可以随时打开一个终端并
echo
它。如果我可以这样设置,让Java在运行时从
System.getProperty(“”
调用中读取它,那也太好了

  • 我应该使用哪个文件
  • 我如何实际设置它以使其满足上述要求

在此提前感谢您的帮助或指点

对于全局设置,系统范围内的环境变量

  • 使用
    /etc/environment
  • 不要使用
    /etc/profile
    /etc/bash.bashrc
从第页开始:

/etc/environment
[…]是 专门针对全系统 环境变量设置。它是 不是脚本文件,而是由 赋值表达式的个数,每个表达式一个 线路。具体来说,此文件存储 系统范围的区域设置和路径 设置

使用
/etc/profile
是一种非常适合Unix-y的方式,但是在Ubuntu下它的功能会大大降低。它仅用于指向
/etc/bash.bashrc
,并从
/etc/profile.d
收集条目

在我的系统中,profile.d中唯一有趣的条目是
/etc/profile.d/bash_completion.sh

用于本地或每用户设置

Ubuntu页面的早期版本建议使用
~/.pam_environment
,但该页面目前建议,如果这不起作用,您应该使用

  • ~/.profile
    -这可能是 放置环境的最佳文件 变量赋值,因为它 由 启动期间的DisplayManager 处理桌面会话以及 从登录时的登录shell 文本控制台

  • ~/.bash\u profile
    ~/.bash\u login
    -如果其中一个存在,当bash作为登录shell启动时,bash将执行它而不是“~/.profile”。Bash更喜欢
    ~/.Bash\u配置文件
    而不是
    ~/.Bash\u登录
    。[…]默认情况下,这些文件不会影响图形会话。“

  • ~/.bashrc
    -”。。。可能是最容易设置变量的地方”


首先,标准做法是在*nix上设置env变量时省略尾随斜杠。(在末尾有一个尾随斜杠)。因此您应该写:

export ANT_HOME=/opt/apache/ANT/1.8.4/apache-ANT-1.8.4

…而不是:

export ANT_HOME=/opt/apache/ANT/1.8.4/apache-ANT-1.8.4/

~/.bashrc、~/.bash\u配置文件是好的,如果您只关心您的用户帐户,并且使用bash shell。对于设置环境变量,使用哪种环境变量实际上没有多大区别。.bashrc会在每次打开新shell时重置它,而.bash\u配置文件会在每次登录时重置它


/etc中的文件将为系统上的所有用户设置它(但可以在本地重写)。如果要让不同的用户构建,并且希望他们都具有相同的环境变量,那么/etc/profile将是一个很好的放置位置。

要从java读取变量,请使用
system.getenv().get(“ANT_HOME”)
。了解更多信息


至于在哪里设置它,我更喜欢使用~/.bashrc,除非您要从其他用户或使用
sudo
运行您的程序。那么您应该使用
/etc/environment

我希望将所有环境变量放在不同的文件中,并从
$HOME/.xsessionrc
.xsessionrc
.xsessionrc将它放在不同的文件中暗示一个shell脚本,该脚本在新的X会话之后由gdm、kdm等登录管理器执行。

首先,用以下代码打开bash文件

xxx@xxx-桌面:~$sudo gedit/etc/bash.bashrc

然后,插入Java home作为JDK位置的路径,将ANT home作为ANT位置的路径,如下所述,在bash文件的末尾

  export ANT_HOME=/usr/share/ant
 export JAVA_HOME=/usr/lib/jvm/java-6-sun
 set path=$path $ANT_HOME/bin
最后,保存并关闭文件。如果配置正确,终端必须使用命令显示以下注释 “蚂蚁版”

      xxx@xxx-desktop:~$ ant -version
ApacheAnt版本1.7.1于2008年11月10日编译 这表示配置正常。

全局设置环境变量的最佳方法 步骤1:
像这样设置
/etc/environment
中的所有变量

JAVA_HOME=/usr/lib/jvm/java-6-sun
ANT_HOME=/usr/....<path to ant home>
set path="/usr/bin:<path2>:$JAVA_HOME/bin:$ANT_HOME/bin"
第三步:
执行以下命令进行更改

source ~/.bashrc



希望有帮助。!!

警告:至少在Ant 1.7.1中,这样省略尾部斜杠会导致Ant无法加载库。我不是开玩笑,另请参见
source ~/.bashrc