在Ubuntu中设置JAVA_HOME环境变量

时间:2014-04-17 04:35:21

标签: java ubuntu java-home

我在ubuntu上很新,在我正在运行的终端中的某个时刻:

mortar local:illustrate pigscripts/retail-recsys.pig purchase_input -f params/retail.params

但我有以下错误:

  

找不到合适的java安装。如果你已经安装了java   请在继续之前设置您的JAVA_HOME环境变量。否则,一个   需要将适当的java安装添加到本地系统。

     

安装Java

     

在OSX上从命令行运行javac。这将启动安装。对于   Linux系统请参阅相关软件包管理器上的文档。

但我很确定我有Java,所以请问如何设置我的JAVA_HOME环境变量?

9 个答案:

答案 0 :(得分:15)

首先,您需要确定要使用的Java安装版本?不用担心,你可以随便挑选 -

update-java-alternatives -l

一个“简单”的解决方案是将其添加到“$ HOME / .bashrc”,

export JAVA_HOME=$(update-java-alternatives -l | head -n 1 | cut -f3 -d' ')

这会选择第一个已安装的JDK并将其作为JAVA_HOME(第三个字段) - 在我的系统上

/usr/lib/jvm/java-1.7.0-openjdk-amd64

答案 1 :(得分:5)

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

~/.bashrc文件中。

如果您希望所有用户和系统启动都可以使用此环境变量,那么您可以将以下内容添加到/etc/profile.d/java.sh(如有必要,请创建它):

export JDK_HOME=/usr/lib/jvm/java-7-oracle
export JAVA_HOME=/usr/lib/jvm/java-7-oracle

然后在终端运行中:

sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh

答案 2 :(得分:3)

设置环境变量的最简单方法是使用export:

    $ export JAVA_HOME="/usr/bin"

这将暂时设置所需的变量。您可以检查它是否设置为:

    $ echo $JAVA_HOME

    $ printenv

如果您想要更持久的解决方案,请将'export JAVA_HOME =“/ usr / bin”'附加到.bashrc或.bash_profile文件。

检查java是否已正确安装:

    $ which java
    $ which javac

你应该得到类似的输出:

    /usr/bin/java

答案 3 :(得分:1)

将行export JAVA_HOME=/usr/lib/jvm/java-xxx-oracle放在.profile文件的主目录中。请注意,您必须替换xxx。您可能需要注销并重新登录

答案 4 :(得分:0)

通常你可以在

中设置路径

〜/ .bashrc中

使用export JAVA_HOME = / usr / lib / jvm / java-version

但是,您可以按照here的说明进行全面的指导。

答案 5 :(得分:0)

JAVA_HOME指向有效的jdk,请添加到~/.bashrc

export JAVA_HOME=$(update-alternatives --query javac | sed -n -e 's/Best: *\(.*\)\/bin\/javac/\1/p')

将动态设置$JAVA_HOMEupdate-alternatives选择的JDK。

答案 6 :(得分:0)

在Debian / Ubuntu / Linux Mint中,我们可以添加到.bashrc中 导出JAVA_HOME = $(update-java-alternatives -l | head -n 1 | sed's / \ s // g')

答案 7 :(得分:-1)

到目前为止,the ultimate guide to doing this is here。您不需要设置PATH,因为您只需要调整默认的“Java替代”'位置。

答案 8 :(得分:-1)

你可以在终端输入java,如果它不起作用意味着你没有安装java.if它工作,在terminal.iv中输入javac如果javac剂量不起作用,你应该设置java环境变量,如果它有效,那里也许你的节目有问题。