【问题标题】:Eclipse doesn't use the path set in .bashrcEclipse 不使用 .bashrc 中设置的路径
【发布时间】:2013-08-08 14:04:55
【问题描述】:

每当我从快捷方式运行 eclipse 时,我都无法正确构建我的一些项目,因为我在 .bashrc 中配置的 PATH 变量没有被使用。

当我从终端运行 eclipse 时,我可以完美地构建所有项目,因为它通过正确的 shell 运行。

问题是我想使用.bashrc 中的PATH 变量,而不需要永久打开终端。我以前试过这个,但是每天我不小心关闭了运行 eclipse 的终端,并丢失了我所有未保存的代码。

谁能帮帮我?

【问题讨论】:

    标签: linux eclipse bash ubuntu


    【解决方案1】:

    您的工具可能使用嵌入式 Eclipse 终端。此终端不会开始提供您的登录/用户 shell。所以你需要在你的 Eclipse 首选项中设置 Eclipse 终端以--login shell 启动:

    转到:

    Preferences -> Terminal -> Local Terminal
    

    设置

    "Arguments" to "--login"
    

    重新启动 Eclipse,从现在开始应该使用您的用户 $PATH。

    【讨论】:

    • 传奇!这是imo最好和最简单的答案
    • 我在 Eclipse Oxygen (4.7.3) 中没有看到这个选项
    • 不必重启 eclipse 只需重新加载终端
    • 不适用于 Mac 上 .zshrc 中设置的环境变量。
    • 要使其在 Mac 上运行,请打开终端并输入 open -a Eclipse。这使得 Eclipse 从终端继承环境。
    【解决方案2】:
    1. 使用写入权限编辑 /usr/share/applications/eclipse.desktop,即sudo gedit /usr/share/applications/eclipse.desktop

    2. 将设置Exec=/usr/bin/eclipse更改为Exec=bash -ic "/usr/bin/eclipse"并保存

    根本问题是 .bashrc 没有加载到非交互式 shell 中。当您启动 Eclipse 时,通常单击其符号,.bashrc 会提前退出。此解决方案适用于由.desktop 文件定义的所有程序。 相比之下,bash -i 打开一个交互式 shell,-c "" 在该 shell 中运行一个命令。

    【讨论】:

    • +1 是的,这确实是最好和最非侵入性的方式。此外,它还可以应用于许多其他应用程序。我以完全相同的方式启动我的 Qt Creator。
    【解决方案3】:

    对于这个问题,我可以想到两种选择:

    • 在启动 Eclipse 之前,编写一个小脚本,导出这些变量或获取 .bashrc。
    • 在 /etc/environment 中定义这些变量。那么它们就不再是用户范围了。

    我更喜欢第一种选择。

    【讨论】:

    • 我将路径变量添加到我的.gnomerc文件中(与第二个选项基本相同)
    • 也类似于第二个选项,我能够(在我的 Mint linux 上)通过将额外的 PATH 操作添加到在登录时运行的 ~/.profile 文件来使其工作。跨度>
    • 选项 3) 从 bash 内部启动 Eclipse。至少使用 Qt Creator 可以正常工作。
    【解决方案4】:
    1. 创建简单脚本
    #!/bin/bash
    source /home/user/.environment_variables
    /home/user/eclipse_cpp/eclipse -Duser.name="My Name"
    

    2。 接下来将所有系统变量放入文件 /home/user/.environment_variables (您想要的任何文件)

    我的样子:

    export COCOS_ROOT=/home/user/Projects/edukoala
    export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64/
    

    3。 现在您可以删除 .bashrc 中的变量并放入行

    source /home/user/.environment_variables
    

    一切正常:)

    【讨论】:

      【解决方案5】:

      嗯,这已经被回答了,并且已经被接受了。但这也适用于使用 Eclipse 运行您的代码。您可以编辑运行配置并在那里设置环境变量。然后,Eclipse 将在构建时从此设置中获取变量。

      【讨论】:

        猜你喜欢
        • 2016-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-28
        • 2014-03-06
        • 1970-01-01
        • 1970-01-01
        • 2014-03-05
        相关资源
        最近更新 更多