小编一直是在windows下开发及配置各种环境,centos也常用到。近日在配置亚马逊的服务器是,发现本地保存的JDK文件上传到服务器,然后出现 cannot execute binary file 错误。经过搜索后发现原来是因为32位的放到64位的系统里导致。于是小编记录一下。

linux centos安装java

安装java时要区分32位或64位系统,以及centos或windows、mac等系统,以centos为例。

1、查看可安装java版本

yum -y list java*

在窗口会显示能安装的java版,选择需要安装的java版本和机器位数,我们安装  java-1.8.0-openjdk-devel.aarch64 版的。

2、执行命令安装

yum install -y java-1.8.0-openjdk-devel.aarch64

执行完后会看见控制台刷出很多输出。耐心等待至自动安装完成。注意:有提示 You need to be root to perform this command.时,是因为有时是管理员分配的账号,我们需要在指令前加 sudo 输入密码后执行,ROOT用户不用管。

3、验证安装是否成功

java -version

输入java -version查看已安装的jdk版本,当出现如下输出表示安装成功。

openjdk version "1.8.0_352"
OpenJDK Runtime Environment (build 1.8.0_352-b08)
OpenJDK 64-Bit Server VM (build 25.352-b08, mixed mode)

4、获取默认安装路径

rpm -ql java-1.8.0-openjdk

执行上面的指令后,窗口会出现一些文件信息,部分如

/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.amzn2.0.1.aarch64/jre/bin/policytool
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.amzn2.0.1.aarch64/jre/lib/aarch64/libawt_xawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.amzn2.0.1.aarch64/jre/lib/aarch64/libjawt.so
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.amzn2.0.1.aarch64/jre/lib/aarch64/libjsoundalsa.so

其中安装路径是在:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.amzn2.0.1.aarch64

centos配置Java环境

获取java安装路劲后,我们配置java环境。

1、编辑 /etc/profile 文件添加配置信息

vim /etc/profile

其中vim操作:i 进入编辑,o 新建一行,:q 不保存退出, :wq 保存退出,:q! 强制不保存退出。

2、添加配置信息如下

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.amzn2.0.1.aarch64 
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

其中 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.352.b08-2.amzn2.0.1.aarch64 为java安装的路径。

3、执行profile文件

source /etc/profile

如果是自定义安装目录的,可能会有 Permission denied 提示,这是因为文件夹权限问题,我们给安装目录777权限即可。

chmod -R 777 /home/java/jdk1.8.0_201