如何在 Linux 中修改默认的 Java 版本
默认正常情况下,即使使用Java 1.6版本Java脚本jdk-6u31-linux-i586.bin,安装Java运行后,会出现自动升级为1.7版本状态的情况。针对某些应用程序需要基于1.6版本方可运行的情况,需要降级为1.6。具体的操作方法有两种:1. 使用alternatives命令来实现。
alternatives是Linux下的一个功能强大的命令,只能在root权限下执行。如系统中有几个命令功能十分类似,却又不能随意删除,那么可以用 alternatives 来指定一个全局的设置。
[root@Excel7070 ~]# alternatives
alternatives version 1.3.49.3 – Copyright (C) 2001 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.
usage: alternatives –install link name path priority
[–initscript service]
[–slave link name path]*
alternatives –remove name path
alternatives –auto name
alternatives –config name
alternatives –display name
alternatives –set name path
common options: –verbose –test –help –usage –version
–altdir directory –admindir directory
可以看到相应的alternatives的相关命令信息。
说明:
alternatives –install link name path priority
其中,
install表示安装
link是符号链接
name则是标识符
path是执行文件的路径
priority则表示优先级
在当前状态下,我需要修改java的版本,具体操作显示如下:
a. 在root中运行 alternatives –config java,具体显示如下:
[root@Excel7070 ~]# alternatives –config java
There are 2 programs which provide ‘java’.
Selection Command
———————————————–
*+ 1 /usr/lib/jvm/jre-1.7.0-openjdk/bin/java
2 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
Enter to keep the current selection[+], or type selection number: 2
b. 然后就选择需要使用的版本号所在选项即可。”2″
c. 再运行java -version
看到的就是当前选择的java版本1.6了。
2. 使用安装修改的方式。这种方式运行之前发生有点异常,第一种方法可以保留与选择,更为合适。
已经安装了1.7版本java,需要如下操作:
chmod +x jdk-6u32-linux-i586.bin
安装1.6版本
./jdk-6u32-linux-i586.bin
mv jdk1.6.0_32/ /usr/java
cd /usr/java
rm -fr latest
ln -s jdk1.6.0_32/ latest
再修改/etc/profle里面的java路径信息即可。
完成profile修改后,source /etc/pofile
java -version就可以看到版本也降级了。
java jdk有区分32位系统或64系统吗
有的,可以从官网的下载页面中了解到,如下图
所以如果下载的话,应该对应自己系统的版本下载
linux下怎么安装JAVA?
1、准备工作:
到Oracle官网下载JDK jdk-6u31-linux-x64-rpm.bin,根据系统是32还是64位的选择下载对应的rpm包.
根据需要选择是否删除linux中原有的java版本,不卸载也不会影响安装.suse卸载java有界面操作,比较简单,打开Yast,点开Software Management,搜索java,找到旧版本,把前面的勾去掉,点应用,就可以卸载了.也可以使用命令删除.
先用rpm -qa | grep java 列出已安装的版本,然后用rpm -e 已安装版本卸载旧版本的java.
2、安装JDK
找到下载的JDK文件,先更改文件访问权限,如果没有root权限,sudo一下.
chmod 755 jdk-6u31-linux-x64-rpm.bin
./jdk-6u31-linux-x64-rpm.bin
这个安装过程很快,按一下回车键就能看到done字样,说明安装成功了.安装完成后会在jdk-6u31-linux-x64-rpm.bin的当前目录下面发现几个*.rpm的包,使用rm *.rpm 命令删除掉,留着也是浪费空间.
安装的java可以在/usr/java/这个目录里边找到.
3、的设置
在/etc/profile文件后面加上下面内容
JAVA_HOME=/usr/java/jdk1.6.0_31
JRE_HOME=/usr/java/jdk1.6.0_31/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/jt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
添加完成后Esc一下,按:wq保存退出.
为了在当前bash环境下查看效果,输入命令source /etc/profile.
再查看javac版本:javac -version,就能看到已经是当前安装的版本的了.
再看一下java的版本:java -version,这里有可能还是旧版本,旧版本没删除,或 者删除的时候没删成功.这个也好办,将/usr/bin/java重新链接到/usr/java/jdk1.6.0_31/下的java上:
ln -fs /usr/java/jdk1.6.0_31/bin/java /usr/bin/java
-f表示强制 -s表示符号链接,有的也叫软连接.
可以使用 ll /usr/bin/java查看是否链接到指定文件上.
也可以先删除/usr/bin/java 文件,然后
ln -s /usr/java/jdk1.6.0_31/bin/java /usr/bin/java
上诉步骤执行完成之后,查看java版本发现java -version也显示了当前安装的版本号.
到这里linux下的java环境就搭建好了.
下载Java(TM)6Update27。这个软件让我误删了,我怎么下载安装啊?我用的是WIN7家庭普通版。
这个是下载地址:
你的是32位的系统的话,就直接下载最后一个文件就可以了,如果是64位的话,就下载上一个
安装JDK:jdk-6u37-windows-i586 后 环境变量也修改好了,输入命令javac 后出现这个是什么错误(win732位)
1.右键打开我的电脑-属性-高级-环境变量
2.新建系统变量JAVA_HOME和CLASSPATH
变量名(N):JAVA_HOME
变量值(V):C:\Program Files\Java\jdk1.7.0(这里的地址是根据你自己javaJDK的保存目录而定的)
变量名(N):CLASSPATH
变量值(V):.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(java_home你就把它看成替换上面设置的java_home变量值就行)
3.选择“系统变量”中变量名为“Path”的环境变量,双击该变量,把jdk安装路径中bin目录的绝对路径,添加到Path变量的值中,并使用半角英文的分号和已有的路径进行分隔。
变量名(N):Path
变量值(V):%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
=================
还有什么不明白的吗?我也刚学这个,希望能帮到你。
我个人觉得环境变量path的设置是为了在DOS下运行javac或是java时,系统能够找到相对应的java.exe和javac.exe程序,其实你可以试试看是不是这个原因,你在环境变量没设置的情况下在java。exe目录下按shift加右键,在此处打开运行窗口试试看有用没、这样就能理解环境变量到底是干什么的了。