我使用的是 Ubuntu 12.04,安装了 JDK,有趣的是出现了以下错误。为什么我会出现这个错误,尽管java
文件存在?
appuser@securexmlgw-db:~/Downloads/jdk1.7.0_04/bin$ ls
appletviewer javac jcontrol jstack policytool tnameserv
apt javadoc jdb jstat rmic unpack200
ControlPanel javah jhat jstatd rmid wsgen
extcheck javap jinfo jvisualvm rmiregistry wsimport
idlj java-rmi.cgi jmap keytool schemagen xjc
jar javaws jps native2ascii serialver
jarsigner jcmd jrunscript orbd servertool
java jconsole jsadebugd pack200 test
appuser@securexmlgw-db:~/Downloads/jdk1.7.0_04/bin$ ./java -version
-bash: ./java: No such file or directory
我已经给出了所有可行的建议。
-rwxrwxrwx 1 500 500 5809 Apr 12 2012 jarsigner*
-rwxrwxrwx 1 500 500 5654 Apr 12 2012 java*
-rwxrwxrwx 1 500 500 5805 Apr 12 2012 javac*
-rwxrwxrwx 1 500 500 5809 Apr 12 2012 javadoc*
答案1
最有可能的是,您下载了 32 位 JRE,并在没有模拟库的 64 位平台上运行它。只需下载与您的平台相匹配的版本即可。
当内核无法找到可执行文件指定的 ELF 解释器时,它将ENOENT
返回。exec
答案2
你有机会不是在本国的文件系统,例如 FAT(Windows)文件系统?
如果是,则执行权限为应该无法工作,因为文件系统没有适当的权限支持。这被称为noexec
,我建议不是更改它。否则,你就为黑客打开了方便之门。
使用 Ubuntu openjdk-7。它比 Oracle 版本支持得更好:
如果您使用打包版本,则仅会获得自动安全更新。
还有一件事:
永远不要让 Java 对用户可写入
-rwxrwxrwx 1 500 500 5654 Apr 12 2012 java*
这说明“任何用户都可以修改(=黑客,病毒感染等)您的 java”。不要这样做。尽可能严格地控制写权限。