有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

在Ubuntu中设置Java变量

我试图在Ubuntu 13.10(32位)系统上安装AmazonMTurk命令行工具

在mturk中设置访问秘密和访问标识符后。属性文件,我运行了getBalance。sh文件,下面是输出

./getBalance.sh
You must set JAVA_HOME (i.e. export JAVA_HOME=/usr)
If you do not have JAVA on your machine, you can download it from http://java.sun.com/
./../bin/invoke.sh: 41: exit: Illegal number: -1

下面是关于我的系统的java信息

$ file `which java javac`
/usr/bin/java:  symbolic link to `/etc/alternatives/java'
/usr/bin/javac: symbolic link to `/etc/alternatives/javac'

我的shell信息是:

$ echo $SHELL
/bin/bash

但是,$JAVA\u HOME命令给了我一个空行作为结果

我可以看到我的机器上安装的java:

$ which java
/usr/bin/java

$ java -version
java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.13.10.1)
OpenJDK Server VM (build 24.51-b03, mixed mode)

然后我运行了以下命令:

$ export JAVA_HOME=/usr/bin/java
$ echo $JAVA_HOME
/usr/bin/java

我认为现在一切都是正确的,但如果我运行getBalnace,我会得到以下结果。嘘

$ ./getBalance.sh 
./../bin/invoke.sh: 79: exec: /usr/bin/java/bin/java: not found

我检查了我的环境变量,下面是结果

$ env | grep java
JAVA_HOME=/usr/bin/java
NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript

路径是:

$ echo $PATH
/usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sid/.rvm/bin

我仍然不知道我哪里做错了。下面的句子很混乱,没有多少信息

  • 如果下载了Unix发行版,则必须设置 MTURK_CMD_HOME环境变量指向命令行 工具安装位置
  • 如果下载了Unix发行版,则必须将JAVA\u设置为HOME 环境变量指向Java标准版运行时 环境(JRE)安装位置

任何帮助都将不胜感激


共 (1) 个答案

  1. # 1 楼答案

    在Java世界中,Java_HOME指的是安装JDK或JRE的目录。因此,您应该能够在以下位置找到java可执行文件:

    $JAVA_HOME/bin/java
    

    在您的情况下,找到安装java的物理位置。像这样的方法应该有用:

    readlink -f /usr/bin/javac
    

    典型的反应是

    /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
    

    对于这个响应,您应该将JAVA_HOME设置为

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