用alternatives进行java版本的转换

FROM:http://wenku.baidu.com/view/3174e41aff00bed5b9f31daa.html

-------------------------------------------------------------------

 

许多刚刚使用FC系列Linux操作系统,或者Windows开发程序需要发布到FC Linux上,会遇到这样一个问题:安装完Sun Java,可是操作系统默认使用的Java是GCJ的,软件或者程序不能正常运行。

解决:在FC中操作系统带了一个alternatives用于版本切换。

    alternatives--install /usr/bin/java java $Sun Java安装路径/bin/java 2
    alternatives --config java

按屏幕提示选择就可以了,每次切换只需要选择一次,如果以后想换GCJ再选择一次就可以了。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

以前自己装上jdk之后,都是把javajavac做成链接替换掉/usr/bin/里面的gijjavajavac。但是这么做一直感觉都不是很“正规”,像是旁门左道。

 

前一阵子在网上看到有人说可以用一个叫做alternativs的工具来实现linux下软件版本的迁移,就决定使用alternatives来把jdkgij迁移至我新装的jdk6.0

 

alternatives/usr/sbin目录下

 

首先需要把新安装的jdk添加到alternatives

 

[root@djn-laptopsbin]# ./alternatives --install /usr/bin/java java /usr/share/jdk1.6.0_02/bin/java300

[root@djn-laptopsbin]# ./alternatives --install /usr/bin/javac javac /usr/share/jdk1.6.0_02/bin/javac300

然后使用--display选项可以查看目前系统可用的JDK

[root@djn-laptopsbin]# ./alternatives --display java

java - 状态是手工。

链接目前指向 /usr/share/jdk1.6.0_02/bin/java

/usr/lib/jvm/jre-1.4.2-gcj/bin/java- 优先度 1420

keytool/usr/lib/jvm/jre-1.4.2-gcj/bin/keytool

rmiregistry/usr/lib/jvm/jre-1.4.2-gcj/bin/rmiregistry

jre_exports/usr/lib/jvm-exports/jre-1.4.2-gcj

jre/usr/lib/jvm/jre-1.4.2-gcj

/usr/share/jdk1.6.0_02/bin/java- 优先度 300

keytool(null)

rmiregistry(null)

jre_exports(null)

jre(null)

当前“最佳”版本是 /usr/lib/jvm/jre-1.4.2-gcj/bin/java

 

[root@djn-laptopsbin]# ./alternatives --display javac

javac - 状态是手工。

链接目前指向 /usr/share/jdk1.6.0_02/bin/javac

/usr/lib/jvm/java-1.4.2-gcj/bin/javac- 优先度 1420

appletviewer/usr/lib/jvm/java-1.4.2-gcj/bin/appletviewer

jar/usr/lib/jvm/java-1.4.2-gcj/bin/jar

jarsigner/usr/lib/jvm/java-1.4.2-gcj/bin/jarsigner

javadoc/usr/lib/jvm/java-1.4.2-gcj/bin/javadoc

javah/usr/lib/jvm/java-1.4.2-gcj/bin/javah

rmic/usr/lib/jvm/java-1.4.2-gcj/bin/rmic

java_sdk_exports/usr/lib/jvm-exports/java-1.4.2-gcj

java_sdk/usr/lib/jvm/java-1.4.2-gcj

/usr/share/jdk1.6.0_02/bin/javac- 优先度 300

appletviewer(null)

jar(null)

jarsigner(null)

javadoc(null)

javah(null)

rmic(null)

java_sdk_exports(null)

java_sdk(null)

当前“最佳”版本是 /usr/lib/jvm/java-1.4.2-gcj/bin/javac

 

确认无误后,就可以使用--config参数来选择想用的JDK

了:

[root@djn-laptopsbin]# ./alternatives --config java

 

共有 2 个程序提供“java”。

 

选择    命令

-----------------------------------------------

* 1           /usr/lib/jvm/jre-1.4.2-gcj/bin/java

+ 2           /usr/share/jdk1.6.0_02/bin/java

 

Enter 来保存当前选择[+],或键入选择号码:

 

[root@djn-laptopsbin]# ./alternatives --config javac

 

共有 2 个程序提供“javac”。

 

选择    命令

-----------------------------------------------

* 1           /usr/lib/jvm/java-1.4.2-gcj/bin/javac

+ 2           /usr/share/jdk1.6.0_02/bin/javac

 

Enter 来保存当前选择[+],或键入选择号码:

 

输入需要使用的JDK的编号就可以了。我的机器当然是选择第二项了。

你可能感兴趣的:(技术)