Centos安装jdk1.8出现-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录错误。

时间:2023-03-09 15:11:49
Centos安装jdk1.8出现-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录错误。

1、从来没有这么郁闷,之前安装都是好好的,自从将Centos升级到7.0版本,安装了jdk报了这个错误,也是郁闷的一毛,参考了一下百度的,记录一下。使用java命令还有java -version命令都是正常的,唯独使用javac报错按照道理来说自从jdk1.7以后可以不用配置classpath了啊。可我配置了classpath依旧报错。自能百度大法了啊。

 [root@slaver4 soft]# javac
-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录

Centos安装jdk1.8出现-bash: //usr/local/soft/jdk1.8.0_191/bin/javac: /lib/ld-linux.so.2: bad ELF interpreter: 没有那个文件或目录错误。

参考:https://blog.****.net/jinchunzhao123/article/details/81239484#commentsedit

2、执行yum install glibc.i686命令。安装glibc.i686这个安装包。

 [root@slaver4 lib]# yum install glibc.i686
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirror.jdcloud.com
* extras: mirror.jdcloud.com
* updates: mirror.jdcloud.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 glibc.i686.0.2.-.el7_6. 将被 安装
--> 正在处理依赖关系 glibc-common = 2.17-.el7_6.,它被软件包 glibc-2.17-.el7_6..i686 需要
--> 正在处理依赖关系 libfreebl3.so(NSSRAWHASH_3.12.3),它被软件包 glibc-2.17-.el7_6..i686 需要
--> 正在处理依赖关系 libfreebl3.so,它被软件包 glibc-2.17-.el7_6..i686 需要
--> 正在检查事务
---> 软件包 glibc-common.x86_64.0.2.-.el7 将被 升级
--> 正在处理依赖关系 glibc-common = 2.17-.el7,它被软件包 glibc-2.17-.el7.x86_64 需要
---> 软件包 glibc-common.x86_64.0.2.-.el7_6. 将被 更新
---> 软件包 nss-softokn-freebl.i686.0.3.36.0-.el7_5 将被 安装
--> 正在检查事务
---> 软件包 glibc.x86_64.0.2.-.el7 将被 升级
---> 软件包 glibc.x86_64.0.2.-.el7_6. 将被 更新
--> 解决依赖关系完成 依赖关系解决 ===================================================================================================
Package 架构 版本 源 大小
===================================================================================================
正在安装:
glibc i686 2.17-.el7_6. updates 4.3 M
为依赖而安装:
nss-softokn-freebl i686 3.36.-.el7_5 base k
为依赖而更新:
glibc x86_64 2.17-.el7_6. updates 3.7 M
glibc-common x86_64 2.17-.el7_6. updates M 事务概要
===================================================================================================
安装 软件包 (+ 依赖软件包)
升级 ( 依赖软件包) 总计: M
总下载量:4.5 M
Is this ok [y/d/N]: y
Downloading packages:
警告:/var/cache/yum/x86_64//base/packages/nss-softokn-freebl-3.36.-.el7_5.i686.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
nss-softokn-freebl-3.36.-.el7_5.i686.rpm 的公钥尚未安装
(/): nss-softokn-freebl-3.36.-.el7_5.i686.rpm | kB ::
glibc-2.17-.el7_6..i686.rpm 的公钥尚未安装================- ] kB/s | 4.1 MB :: ETA
(/): glibc-2.17-.el7_6..i686.rpm | 4.3 MB ::
---------------------------------------------------------------------------------------------------
总计 kB/s | 4.5 MB ::
从 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 检索密钥
导入 GPG key 0xF4A80EB5:
用户ID : "CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>"
指纹 : ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5
软件包 : centos-release--6.1810..el7.centos.x86_64 (@anaconda)
来自 : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-
是否继续?[y/N]:y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在更新 : glibc-common-2.17-.el7_6..x86_64 /
正在更新 : glibc-2.17-.el7_6..x86_64 /
正在安装 : nss-softokn-freebl-3.36.-.el7_5.i686 /
正在安装 : glibc-2.17-.el7_6..i686 /
清理 : glibc-common-2.17-.el7.x86_64 /
清理 : glibc-2.17-.el7.x86_64 /
验证中 : glibc-2.17-.el7_6..x86_64 /
验证中 : nss-softokn-freebl-3.36.-.el7_5.i686 /
验证中 : glibc-2.17-.el7_6..i686 /
验证中 : glibc-common-2.17-.el7_6..x86_64 /
验证中 : glibc-2.17-.el7.x86_64 /
验证中 : glibc-common-2.17-.el7.x86_64 / 已安装:
glibc.i686 :2.17-.el7_6. 作为依赖被安装:
nss-softokn-freebl.i686 :3.36.-.el7_5 作为依赖被升级:
glibc.x86_64 :2.17-.el7_6. glibc-common.x86_64 :2.17-.el7_6. 完毕!
[root@slaver4 lib]#

3、解决问题。

 [root@slaver4 soft]# java
用法: java [-options] class [args...]
(执行类)
或 java [-options] -jar jarfile [args...]
(执行 jar 文件)
其中选项包括:
-d32 使用 位数据模型 (如果可用)
-d64 使用 位数据模型 (如果可用)
-server 选择 "server" VM
默认 VM 是 server. -cp <目录和 zip/jar 文件的类搜索路径>
-classpath <目录和 zip/jar 文件的类搜索路径>
用 : 分隔的目录, JAR 档案
和 ZIP 档案列表, 用于搜索类文件。
-D<名称>=<值>
设置系统属性
-verbose:[class|gc|jni]
启用详细输出
-version 输出产品版本并退出
-version:<值>
警告: 此功能已过时, 将在
未来发行版中删除。
需要指定的版本才能运行
-showversion 输出产品版本并继续
-jre-restrict-search | -no-jre-restrict-search
警告: 此功能已过时, 将在
未来发行版中删除。
在版本搜索中包括/排除用户专用 JRE
-? -help 输出此帮助消息
-X 输出非标准选项的帮助
-ea[:<packagename>...|:<classname>]
-enableassertions[:<packagename>...|:<classname>]
按指定的粒度启用断言
-da[:<packagename>...|:<classname>]
-disableassertions[:<packagename>...|:<classname>]
禁用具有指定粒度的断言
-esa | -enablesystemassertions
启用系统断言
-dsa | -disablesystemassertions
禁用系统断言
-agentlib:<libname>[=<选项>]
加载本机代理库 <libname>, 例如 -agentlib:hprof
另请参阅 -agentlib:jdwp=help 和 -agentlib:hprof=help
-agentpath:<pathname>[=<选项>]
按完整路径名加载本机代理库
-javaagent:<jarpath>[=<选项>]
加载 Java 编程语言代理, 请参阅 java.lang.instrument
-splash:<imagepath>
使用指定的图像显示启动屏幕
有关详细信息, 请参阅 http://www.oracle.com/technetwork/java/javase/documentation/index.html。
[root@slaver4 soft]# javac
用法: javac <options> <source files>
其中, 可能的选项包括:
-g 生成所有调试信息
-g:none 不生成任何调试信息
-g:{lines,vars,source} 只生成某些调试信息
-nowarn 不生成任何警告
-verbose 输出有关编译器正在执行的操作的消息
-deprecation 输出使用已过时的 API 的源位置
-classpath <路径> 指定查找用户类文件和注释处理程序的位置
-cp <路径> 指定查找用户类文件和注释处理程序的位置
-sourcepath <路径> 指定查找输入源文件的位置
-bootclasspath <路径> 覆盖引导类文件的位置
-extdirs <目录> 覆盖所安装扩展的位置
-endorseddirs <目录> 覆盖签名的标准路径的位置
-proc:{none,only} 控制是否执行注释处理和/或编译。
-processor <class1>[,<class2>,<class3>...] 要运行的注释处理程序的名称; 绕过默认的搜索进程
-processorpath <路径> 指定查找注释处理程序的位置
-parameters 生成元数据以用于方法参数的反射
-d <目录> 指定放置生成的类文件的位置
-s <目录> 指定放置生成的源文件的位置
-h <目录> 指定放置生成的本机标头文件的位置
-implicit:{none,class} 指定是否为隐式引用文件生成类文件
-encoding <编码> 指定源文件使用的字符编码
-source <发行版> 提供与指定发行版的源兼容性
-target <发行版> 生成特定 VM 版本的类文件
-profile <配置文件> 请确保使用的 API 在指定的配置文件中可用
-version 版本信息
-help 输出标准选项的提要
-A关键字[=值] 传递给注释处理程序的选项
-X 输出非标准选项的提要
-J<标记> 直接将 <标记> 传递给运行时系统
-Werror 出现警告时终止编译
@<文件名> 从文件读取选项和文件名 [root@slaver4 soft]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK -Bit Server VM (build 25.181-b13, mixed mode)
[root@slaver4 soft]#

我的/etc/profile文件配置如下所示:

 export JAVA_HOME=/usr/local/soft/jdk1..0_191
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

待续......