ubuntu12.04 安装jdk后 执行java javac java -version 等命令都显示无法执行二进制文件,是什么个情况啊?

ubuntu12.04 安装jdk后 执行java javac java -version 等命令都显示无法执行二进制文件,是什么个情况啊?,第1张

你配置好了环境吗?ubuntu会自动安装openjdk,不过估计是你环境变量没有配好,注意JAVA_HOME,JRE_HOME和CLASS_PATH就行,都是在/etc/profile里面添加之后ctrl+alt+T执行source /etc/profile,就可以了注意CLASS_PATH的写法要加上当前路径

建议用免安装版的,安装方法如下:

一、软件下载

1、下载JDK(下面分别是32位系统和64位系统下的版本

http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-i586.tar.gz?AuthParam=1350717577_c0836b48d7dc4cd4598cdd4f0d49e6f6#32位

http://download.oracle.com/otn-pub/java/jdk/7u9-b05/jdk-7u9-linux-x64.rpm?AuthParam=1350717726_9b669eca29c07ddaaf6d8dc41e7a2684 #64位

# getconf LONG_BIT # 查看系统多少位

二、安装JDK7.0版本

1、先卸载服务器自带的jdk软件包

# java -version #查看服务器是否安装过jdk

java version "1.6.0_17"

OpenJDK Runtime Environment (IcedTea6 1.7.4) (rhel-1.21.b17.el6-i386)

OpenJDK Client VM (build 14.0-b16, mixed mode)

# rpm -qa |grep gcj #查看服务器安装的jdk软件包信息

libgcj-4.4.4-13.el6.i686

java-1.5.0-gcj-1.5.0.0-29.1.el6.i686

# yum -y remove java-1.5.0-gcj-1.5.0.0-29.1.el6.i686#卸载软件包

2、安装jdk7.0

解压配置安装

# mkdir -p /usr/lib/jvm

# tar zxvf jdk-7u9-linux-i586.tar.gz -C /usr/lib/jvm

# mv /usr/lib/jvm/jdk1.7.0_09/usr/lib/jvm/java7

3、添加jdk7.0到系统环境变量

# cp /etc/profile /etc/profile.bak#备份

# vi /etc/profile #编辑,在最后添加下面的内容

export JAVA_HOME=/usr/lib/jvm/java7

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

# source /etc/profile  #使配置文件立即生效

由于系统中可能会有默认的其他版本JDK,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。

update-alternatives --install /usr/bin/java java /usr/lib/jvm/java7/bin/java 300

update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java7/bin/javac 300

update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java7/bin/jar 300

update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java7/bin/javah 300

update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java7/bin/javap 300

执行下面命令,设置默认版本,此命令执行后,系统会列出当前存在的各种JDK版本,会提示你选择

# update-alternatives --config java

4、测试

# java -version # 测试是否成功

java version "1.7.0_09"

Java(TM) SE Runtime Environment (build 1.7.0_09-b05)

Java HotSpot(TM) Client VM (build 23.5-b02, mixed mode)

Java字节码是一种二进制的类文件,它的内容是 JVM 的指令,而不像 C、C++经由编译器直接生成机器码 ,正因为不是机器码,所以不能直接运行在 *** 作系统平台上 。 如果直接运行在平台上就成了针对机器的了,而java目的就是要一次编译,处处运行。由于机器不同,对二进制码的要求也不同,所以不能直接生成执行的二进制文件,而java把源文件编译成高效的字节码,通过java虚拟机可以快速的转换为各个机器所需要的机器码,所以只要有java虚拟机,java就能达到处处运行。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/12059162.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-20
下一篇2023-05-20

发表评论

登录后才能评论

评论列表(0条)

    保存