当前位置: 首页 > 面试题库 >

在清单中安装了Java,但是执行会产生“ ./java:没有这样的文件或目录”

归翔
2023-03-14
问题内容

我只是在下面运行了脚本,它会提取JDK并将其解压缩到正确的位置。问题是每个java命令(复制到 / urs / bin
)都会出错。然后,我通过(进入cd我现在在JDK / bin中)进入JDK安装目录进行仔细检查,然后键入:./java -version和get:,./java: No such file or directory但是java在那里!ls -l在JDK上显示所有java客户端都在 bin中

#!/bin/bash
#Author: Yucca Nel http://thejarbar.org
#Will restart system
#Modify these variables as needed...
tempWork=/tmp/work
locBin=/usr/local/bin
javaUsrLib=/usr/lib/jvm

sudo mkdir -p $javaUsrLib
mkdir -p $tempWork
cd $tempWork

#Update this line to reflect newer versions of JDK...
wget http://download.oracle.com/otn-pub/java/jdk/7u2-b13/jdk-7u2-linux-i586.tar.gz

#Extract the download
tar -zxvf $tempWork/*

#Move it to where it can be found...

sudo mv -f $tempWork/jdk1.7* $javaUsrLib/

sudo ln -f -s $javaUsrLib/jdk1.7*/bin/* /usr/bin/
sudo rm -rf $tempWork
#Update this line to reflect newer versions of JDK...
export JAVA_HOME="$javaUsrLib/jdk1.7.0_02"

if ! grep "JAVA_HOME=$javaUsrLib/jdk1.7.0_02" /etc/environment
then
    echo "JAVA_HOME=$javaUsrLib/jdk1.7.0_02"| sudo tee -a /etc/environment
fi

sudo /sbin/reboot

exit 0

跑步ls -l /usr/lib/jvm/jdk1.7.0_02/bin/java给我:yucca@yucca-VirtualBox:~$ -rwxr-xr-x 1 yucca yucca 5654 2011-11-17 22:38 /usr/lib/jvm/jdk1.7.0_02/bin/java

还运行了:file /usr/lib/jvm/jdk1.7.0_02/bin输出为:

/usr/lib/jvm/jdk1.7.0_02/bin: directory

问题答案:

您正在没有32位运行时环境的64位系统上运行。

假设ubuntu / debian问题:

apt-get install libc6-i386

或者,您应该将软件包的64位版本安装到此VM中(这可能是最好的解决方案)。

错误消息来自运行时链接程序/加载程序。如果您这样做readelf -l java,则会发现类似以下内容的行:

 [Requesting program interpreter: /lib/ld-linux.so.2]

这是您对32位应用程序的期望,并且您可能未安装32位环境-请检查其中的ls -l program interpreter

和64位程序的示例如下所示(您的系统可能有所不同):

 [Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]

如果不是这种情况,并且您确实安装了32位libc,则可以尝试使用ldd java,它将给出类似以下内容的清单:

linux-gate.so.1 =>  (0xf76ef000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf76b3000)
libjli.so => /home/bubba/java/jdk1.7.0_02/bin/./../jre/lib/i386/jli/libjli.so (0xf769f000)
libdl.so.2 => /lib32/libdl.so.2 (0xf7699000)
libc.so.6 => /lib32/libc.so.6 (0xf751f000)
/lib/ld-linux.so.2 (0xf76f0000)

如果有not found几行这样说,那么您应该添加提供该功能的pagkage,但是从中可以看到,ldd所有依赖项都是核心库,几乎所有Linux系统上都应该存在。



 类似资料:
  • 问题内容: 我只是在下面运行了脚本,它就将JDK提取并解压缩到正确的位置。问题是每个命令(复制到 / urs / bin )都会出错。然后,我通过(进入我现在在JDK / bin中)进入JDK安装目录进行仔细检查,然后键入:和get:,但是在那里!在JDK上显示所有客户端都在 bin中 。 跑步给我: 还运行了:输出为: 问题答案: 您正在没有32位运行时环境的64位系统上运行。 假设ubuntu

  • 我还可以创建目录并使用 我也可以说 然而,我正在遵循一个教程,其中培训师做

  • 我试图创建一个名为example.java的简单jar程序,它向用户显示“hello world”,代码如下: 我的清单文件如下: 运行此命令时: Java-贾尔HelloWorld.jar 它返回 这里的问题是什么?为什么我不能运行JAR文件?我已经找了一些例子,但那些和我不一样。有人愿意帮忙吗?谢谢!

  • 问题内容: 我试图在Mac OS X EL Captain 10.11上使用Java 1.7 SDK和Hadoop2.7.1运行一个简单的单词计数MapReduce程序,并且在我的容器日志“ stderr” / bin / bash中得到以下错误消息:/ bin / java:无此文件或目录 应用日志 命令我正在运行 我的ENV变量是- 问题似乎是因为YARN对JAVA可执行文件使用的路径与您在O

  • 甚至我已经使用安装了它。结果总是 我已经做了很多命令来解决它,但失败了。以下是我已经尝试的命令: 因为这个我不能开始任务。伙计们帮帮我。在此之前,我使用了以下命令。现在我有问题了,我不能再用NPM工作了。我对这个真的很陌生。我现在不知道怎么解决这个问题。 更新 我已经使用命令获得了列表。我也得到这里链接的想法,但当我在项目中。我总是得到这个“result env:node:No such file

  • 问题内容: 这是C语言中的Hello World代码: 我将其编译为,生成预期的结果并按预期方式打印。 现在,如果我分别进行编译和链接: ,它将在生成消息时运行产生的消息: 我用谷歌搜索了这个错误,当生成的可执行文件是32位ELF并且计算机体系结构是64位时,似乎发生了这种错误。 我正在运行64位计算机,并运行给出: 为什么会这样? 编辑: 输出 输出 产生正确运行。 问题答案: 其他答案仅涉及如