9

我试图在使用 Yocto (Linux) 的 Intel Edison 上启用 JAVA,问题是在提取 zip 后,我能够检查版本,并且在将其放入路径时,我根本无法访问 java .

特别是我试图按照本教程进行操作,但我被“卡住”了

. .profile

从下一步开始

java -version

抛出与下面粘贴的相同的问题,权限被拒绝或之前,找不到 java。

下面是输出的快速概述:

root@dedsec1:~/java/jdk1.7.0_67/bin# ./java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode)
root@dedsec1:~/java/jdk1.7.0_67/bin# cd
root@dedsec1:~# echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/root/bin:/home/root/java/jdk1.7.0_67/bin:/home/root/java/jdk1.7.0_67/bin
root@dedsec1:~# ./java -version
-sh: ./java: Permission denied
root@dedsec1:~#

我到底在想什么?我在 java 上设置了 chmod -x ,但它似乎不影响它。

4

3 回答 3

14
sudo chmod a+x /usr/bin/java
sudo chmod a+x /usr/bin/javac
sudo chmod a+x /usr/bin/javaws
sudo chown -R root:root /usr/lib/jvm/jdk1.8.0
于 2014-11-01T05:05:27.273 回答
2

root的主文件夹不在“/home”下。改变这个

/home/root/java/jdk1.7.0_67/bin:/home/root/java/jdk1.7.0_67/bin

/root/java/jdk1.7.0_67/bin

还,

/home/root/bin

应该是

/root/bin

出于类似的原因。在编写脚本时,您可以使用$HOME它将扩展到用户主目录的任何位置。所以,

PATH="$HOME/bin:$HOME/java/jdk1.7.0_67/bin"

编辑

我不建议您链接到javain $HOME/bin。让我们设置一个JAVA_HOME并将其移动到 PATH 的前面,例如

export JAVA_HOME=$HOME/java/jdk1.7.0_67
export PATH="$JAVA_HOME/bin:$HOME/bin:$PATH"
于 2014-11-01T04:13:09.273 回答
0

您需要以 Root 身份登录

. .profile

如果这不起作用,您可以获取文件。

source .profile 

请注意,来源是“。”的同义词。(时期)。

于 2014-11-01T04:32:00.720 回答