在Ubuntu中设置JAVA_HOME环境变量
我是ubuntu的新手,在我运行的终端的某个点上:在Ubuntu中设置JAVA_HOME环境变量,java,ubuntu,java-home,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系统请查阅相
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环境变量?将行
导出Java_HOME=/usr/lib/jvm/Java xxx oracle
放在主目录的.profile文件中。请注意,您必须替换xxx。您可能需要注销并再次登录通常您可以在中设置路径
~/.bashrc
使用export JAVA_HOME=/usr/lib/jvm/JAVA version
但是,您可以按照的说明进行综合说明
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
在~/.bashrc
文件中
如果希望此环境变量可供所有用户使用,并且在系统启动时可用,则可以将以下内容添加到/etc/profile.d/java.sh(必要时创建):
然后在终端运行中:
sudo chmod +x /etc/profile.d/java.sh
source /etc/profile.d/java.sh
到目前为止。您不需要设置路径,只需要调整默认的“java alternative”位置。您可以在terminal中键入java,如果它不工作,则表示您没有安装java。如果它工作,则在terminal中键入javac。如果javac不工作,则应设置java环境变量,如果它工作,您的程序可能有问题。首先,您需要决定使用哪个已安装的Java版本?不用担心,你可以随便挑-
update-java-alternatives -l
一个“简单”的解决方案是将其添加到“$HOME/.bashrc”
这将选择第一个安装的JDK,并将其作为JAVA_主页(第三个字段)——在我的系统上,这是
/usr/lib/jvm/java-1.7.0-openjdk-amd64
设置环境变量的最简单方法是导出:
$ export JAVA_HOME="/usr/bin"
这将临时设置所需的变量。您可以检查它是否设置为:
$ echo $JAVA_HOME
或
如果您想要更持久的解决方案,请将“export JAVA_HOME=“/usr/bin””附加到.bashrc或.bash_配置文件中
要检查java是否正确安装,请执行以下操作:
$ which java
$ which javac
您应该得到类似的输出:
/usr/bin/java
对于指向活动jdk的
JAVA\u HOME
,请添加到~/.bashrc
export JAVA_HOME=$(update-alternatives --query javac | sed -n -e 's/Best: *\(.*\)\/bin\/javac/\1/p')
它将动态地将
$JAVA_HOME
设置为更新备选方案所选的JDK 在Debian/Ubuntu/LinuxMint中,我们可以添加到.bashrc
export JAVA|u HOME=$(更新JAVA alternations-l | head-n1 | sed's/\s//g')。我敢打赌,当您运行/安装JAVA_时,您希望使用它导出JAVA_主页。这只是一个临时解决方案,在重新启动时会被清除。@IgorGanapolsky否,如果您将其添加到“.bashrc”中,则不会。在Ubuntu 14.04上,当我通过apt安装jdk时,创建了一个symlink/usr/lib/jvm/default java。我将其用于java_HOME环境变量。我需要更新Ubuntu 16.4的此解决方案,以消除这三个部分之间的多个空格。所以我使用export JAVA|u HOME=$(更新JAVA alternations-l | head-n1 | sed's/*//g'| cut-f3-d')
我在.bashrc中设置了它,但我必须重新启动吗??它没有生效。为什么是/usr/bin/java?如果我将jdk从Oracle下载到另一个目录会怎么样?好吧,这只是一个具体的例子:)如果您计划使用多个版本的java,这是最好的答案。这允许您使用更新替代项来设置java版本,它将始终有效。它应该是导出java\u HOME=/usr
,否则系统将在/usr/bin/bin
中查找java可执行文件。非常感谢这是最好的答案:)为了获得当前配置的替代项,我认为应该是:updatealternations--queryjavac | sed-n-e的/Value:\(.*)\/bin\/javac/\1/p'
$ which java
$ which javac
/usr/bin/java
export JAVA_HOME=$(update-alternatives --query javac | sed -n -e 's/Best: *\(.*\)\/bin\/javac/\1/p')