【问题标题】:How to set ANT_HOME on Ubuntu Desktop 12.04?如何在 Ubuntu Desktop 12.04 上设置 ANT_HOME?
【发布时间】:2023-03-24 08:13:02
【问题描述】:

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

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

在此先感谢您的帮助或指点!

【问题讨论】:

    标签: java bash ubuntu ant environment-variables


    【解决方案1】:

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

    • 使用/etc/environment
    • 不要使用/etc/profile,或/etc/bash.bashrc

    来自this页面:

    /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 处理桌面会话以及通过 登录时的登录外壳 文本控制台。

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

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

    【讨论】:

      【解决方案2】:

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

      xxx@xxx-desktop:~$ 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
      

      2008 年 11 月 10 日编译的 Apache Ant 版本 1.7.1 表示配置OK。

      【讨论】:

        【解决方案3】:

        首先,在 *nix 上设置环境变量时省略尾部斜杠是标准做法。 (你的末尾有一个斜杠)。所以你应该写:

        导出 ANT_HOME=/opt/apache/ant/1.8.4/apache-ant-1.8.4

        ...而不是:

        导出 ANT_HOME=/opt/apache/ant/1.8.4/apache-ant-1.8.4/

        ~/.bashrc、~/.bash_profile 如果您只关心您的用户帐户并且您使用 bash shell,则它们是很好的选择。对于设置环境变量,您使用哪一个并没有太大区别。 .bashrc 会在你每次打开一个新的 shell 时重置它,而 .bash_profile 会在你每次登录时重置它。

        /etc 中的文件将为您系统上的所有 用户设置它(但它可以在本地被覆盖)。如果您要构建不同的用户并且希望他们都拥有相同的环境变量,那么 /etc/profile 将是放置它的好地方。

        【讨论】:

        【解决方案4】:

        要从 java 中读取变量,请使用 System.getenv().get("ANT_HOME")。阅读更多关于它的信息here

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

        【讨论】:

          【解决方案5】:

          我更愿意将所有环境变量放到不同的文件中,然后将 source 放在 $HOME/.xsessionrc 中。 .xsessionrc 只是一个 shell 脚本,它在新的 X 会话之后由 gdm、kdm 等登录管理器执行。

          【讨论】:

            【解决方案6】:

            设置环境变量全局的最佳方法

            第 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"
            

            第 2 步:
            在每个用户的~/.bashrc末尾添加这一行

            source /etc/environment
            

            第 3 步:
            执行以下命令进行更改。

            source ~/.bashrc
            



            希望对您有所帮助..!!

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2013-10-07
              • 1970-01-01
              • 2014-08-29
              • 2014-07-27
              • 2012-03-06
              • 1970-01-01
              • 1970-01-01
              • 2013-09-01
              相关资源
              最近更新 更多