[root@pst java]# chmod +x jdk-6u45-linux-i586-rpm.bin
[root@pst java]# ./jdk-6u45-linux-i586-rpm.bin
Unpacking...
Checksumming...
Extracting...
UnZipSFX 5.50 of 17 February 2002, by Info-ZIP ([email protected]).
inflating: jdk-6u45-linux-i586.rpm
inflating: sun-javadb-common-10.6.2-1.1.i386.rpm
inflating: sun-javadb-core-10.6.2-1.1.i386.rpm
inflating: sun-javadb-client-10.6.2-1.1.i386.rpm
inflating: sun-javadb-demo-10.6.2-1.1.i386.rpm
inflating: sun-javadb-docs-10.6.2-1.1.i386.rpm
inflating: sun-javadb-javadoc-10.6.2-1.1.i386.rpm
Preparing... ########################################### [100%]
package jdk-1.6.0_45-fcs.i586 is already installed
Done.
[root@pst java]# rpm -ivh jdk-6u45-linux-i586.rpm
Preparing... ########################################### [100%]
package jdk-1.6.0_45-fcs.i586 is already installed
[root@pst java]# java -version
bash: /usr/bin/java: No such file or directory
[root@pst java]# cd ~/
[root@pst ~]# java
bash: /usr/bin/java: No such file or directory
export JAVA_HOME=/usr/local/java/jdk-1.6.0_45-fcs
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
提示已安装,但找不到jdk-1.6.0_45-fcs.i586 目录 而且命令查找版本等均无效
------解决方案--------------------
1. 在 /usr 下 用find 命令找一下
2. 一般是在 usr/java下 不是在usr/local/java
如果没有,用find找
1. 修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
·用文本编辑器打开/etc/profile
·在profile文件末尾加入:
JAVA_HOME=/usr/share/jdk1.5.0_05
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
·重新登录
·注解
a. 你要将 /usr/share/jdk1.5.0_05jdk 改为你的jdk安装目录
b. linux下用冒号“:”来分隔路径
c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种常见的错误。
d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
e. export是把这三个变量导出为全局变量。
f. 大小写必须严格区分。
2. 修改.bashrc文件
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
·用文本编辑器打开用户目录下的.bashrc文件
·在.bashrc文件末尾加入:
set JAVA_HOME=/usr/share/jdk1.5.0_05
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH
·重新登录
3. 直接在shell下设置变量
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:
export JAVA_HOME=/usr/share/jdk1.5.0_05
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
[root@face_reg_cluster1 alternatives]# rpm -qa | grep jdk
jdk-1.6.0_45-fcs
ldapjdk-4.18-2jpp.3.el5
[root@face_reg_cluster1 alternatives]# yum -y remove ldapjdk-4.18-2jpp.3.el5
Loaded plugins: fastestmirror
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package ldapjdk.i386 0:4.18-2jpp.3.el5 set to be erased
--> Finished Dependency Resolution
Dependencies Resolved
========================================================================================================================================================================
Package Arch Version Repository Size
========================================================================================================================================================================
Removing:
ldapjdk i386 4.18-2jpp.3.el5 installed 1.9 M
Transaction Summary
========================================================================================================================================================================
Remove 1 Package(s)
Reinstall 0 Package(s)
Downgrade 0 Package(s)
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Erasing : ldapjdk 1/1
Removed:
ldapjdk.i386 0:4.18-2jpp.3.el5
Complete!
[root@face_reg_cluster1 bin]# ls -rlt java*
lrwxrwxrwx 1 root root 28 Nov 29 11:18 javaws -> /usr/java/default/bin/javaws
lrwxrwxrwx 1 root root 30 Nov 29 16:56 java -> /usr/java/jdk1.6.0_45/bin/java
[root@face_reg_cluster1 bin]# ln -s /usr/java/jdk1.6.0_45/bin/javaws /usr/bin/javaws
ln: creating symbolic link `/usr/bin/javaws' to `/usr/java/jdk1.6.0_45/bin/javaws': File exists
[root@face_reg_cluster1 bin]# java -version
java version "1.6.0_45"
Java(TM) SE Runtime Environment (build 1.6.0_45-b06)
Java HotSpot(TM) Server VM (build 20.45-b01, mixed mode)
[root@face_reg_cluster1 bin]# rm javaws
rm: remove symbolic link `javaws'? y
[root@face_reg_cluster1 bin]# ln -s /usr/java/jdk1.6.0_45/bin/javaws /usr/bin/javaws
[root@face_reg_cluster1 bin]# ls -lrt java*
lrwxrwxrwx 1 root root 30 Nov 29 16:56 java -> /usr/java/jdk1.6.0_45/bin/java
lrwxrwxrwx 1 root root 32 Nov 29 16:57 javaws -> /usr/java/jdk1.6.0_45/bin/javaws