我按照本教程http://saskia-vola.com/nutch-2-2-elasticsearch-1-x-hbase/当我最终尝试运行Nutch sudo bin/nutch inject urls
时出现此错误
Error: JAVA_HOME is not set.
但当我回复JAVA_HOME时,它会返回
/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
但它仍然会返回此错误。我该如何解决?
答案 0 :(得分:1)
您正在以root用户身份运行该命令,因此应用程序看到的环境变量对于root用户而非您的用户是可见的。只要检查root是否设置了JAVA_HOME环境变量,或者如果可能的话,以您的用户身份运行该程序。
您可以尝试sudo -E bin/nutch inject urls
正如sudo手册所说, -E, - pre-env 向安全策略指示用户希望保留其现有环境变量。如果用户没有保留环境的权限,安全策略可能会返回错误。
答案 1 :(得分:0)
确保完整的JDK不仅存在JVM。您也可以通过在主目录中的.bashrc文件中导出JAVA_HOME = YOUR_PREFERED_JDK_PATH来覆盖它。
答案 2 :(得分:-1)
可能你没有在/etc/environment
中设置java路径。尝试给出命令。
sudo vi /etc/environment
然后设置Java路径
JAVA_PATH=/give your java path here/
您可以使用$JAVA_HOME
检查java路径,然后使用
sudo -E bin/nutch inject urls