Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nutch错误:未设置JAVA_主页_Java_Ubuntu_Nutch - Fatal编程技术网

Nutch错误:未设置JAVA_主页

Nutch错误:未设置JAVA_主页,java,ubuntu,nutch,Java,Ubuntu,Nutch,当我最终尝试运行Nutch sudo bin/Nutch inject URL时,我遵循了本教程,但出现了此错误 Error: JAVA_HOME is not set. 但当我回JAVA_家时,它又回来了 /usr/lib/jvm/java-7-openjdk-amd64 它也在/etc/environment中 JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64" 我还在文件~/.bashrc的末尾添加了一行 export JAVA_HOME=/u

当我最终尝试运行Nutch sudo bin/Nutch inject URL时,我遵循了本教程,但出现了此错误

Error: JAVA_HOME is not set.
但当我回JAVA_家时,它又回来了

/usr/lib/jvm/java-7-openjdk-amd64
它也在/etc/environment中

JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64"
我还在文件~/.bashrc的末尾添加了一行

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

但它仍然返回这个错误。如何修复它?

确保完整的JDK存在,而不仅仅是JVM。您还可以通过在主目录中的.bashrc文件中导出JAVA_HOME=YOUR_preferred_JDK_路径来覆盖这一点

您以root用户身份运行该命令,因此应用程序看到的环境变量对于root用户而不是您的用户是可见的。只要检查root是否设置了JAVA_HOME环境变量,或者尽可能以用户身份运行程序

您可以尝试sudo-ebin/nutch注入URL

正如sudo手册所说, -E、 -保护环境
向安全策略指示用户希望保留其现有环境变量。如果用户没有保留环境的权限,安全策略可能会返回错误。

可能您没有在/etc/environment中设置java路径。尝试给出命令

sudo vi /etc/environment
然后设置Java路径

JAVA_PATH=/give your java path here/
您可以使用$java_HOME检查java路径,然后使用

sudo -E bin/nutch inject urls

作为用户,我的权限被拒绝。因此,我运行sudo-i切换到root并在root HOME中使用相同的JAVA_HOME设置file.bashrc,然后运行bin/nutch inject,它就可以工作了,但是当我使用sudo bin/nutch inject时,我得到了关于JAVA_HOME的相同错误。我运行了这个导出JAVA_HOME=/usr/lib/jvm/JAVA-7-openjdk-amd64,并将source~/.bashrc作为根,它的行为就像我在第一个答案的评论中描述的那样