发布于2026-07-17 阅读(0)
扫一扫,手机访问
不少人的电脑里会安装多个Ja va版本,比如常见的ja va-6-sun和ja va-gcj。gcj这东西是在早年JVM慢得像蜗牛的时候诞生的,它能把Ja va代码直接编译成本地代码,也算是一种另辟蹊径的解决方案。不过今天咱们不聊这个,重点还是回到正题——怎么切换默认Ja va环境。
修改默认Ja va环境,其实就靠一个命令:update-ja va-alternatives。这玩意儿用起来很直接,两步搞定。
第一步,先看看系统里都装了哪些Ja va版本。
运行 update-ja va-alternatives -l,就能列出所有已安装的Ja va环境:
$ update-ja va-alternatives -l
ja va-6-sun 63 /usr/lib/jvm/ja va-6-sun
ja va-gcj 1042 /usr/lib/jvm/ja va-gcj
输出里,左边是Ja va的名称(也就是jname),右边是优先级和安装路径。一目了然。
第二步,指定你想用的那个版本作为默认环境。
命令格式是 sudo update-ja va-alternatives -s ,其中jname就是上一步查出来的名字。比如你想把sun jdk设为默认,那就输入:
$ sudo update-ja va-alternatives -s ja va-6-sun
[sudo] password for leo:
使用“/usr/lib/jvm/ja va-6-sun/bin/appletviewer”来提供“appletviewer”。
使用“/usr/lib/jvm/ja va-6-sun/bin/apt”来提供“apt”。
使用“/usr/lib/jvm/ja va-6-sun/bin/extcheck”来提供“extcheck”。
使用“/usr/lib/jvm/ja va-6-sun/bin/HtmlConverter”来提供“HtmlConverter”。
使用“/usr/lib/jvm/ja va-6-sun/bin/idlj”来提供“idlj”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jarsigner”来提供“jarsigner”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jar”来提供“jar”。
使用“/usr/lib/jvm/ja va-6-sun/bin/ja vac”来提供“ja vac”。
使用“/usr/lib/jvm/ja va-6-sun/bin/ja vadoc”来提供“ja vadoc”。
使用“/usr/lib/jvm/ja va-6-sun/bin/ja vah”来提供“ja vah”。
使用“/usr/lib/jvm/ja va-6-sun/bin/ja vap”来提供“ja vap”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jconsole”来提供“jconsole”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jdb”来提供“jdb”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jhat”来提供“jhat”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jinfo”来提供“jinfo”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jmap”来提供“jmap”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jps”来提供“jps”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jrunscript”来提供“jrunscript”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jsadebugd”来提供“jsadebugd”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jstack”来提供“jstack”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jstatd”来提供“jstatd”。
使用“/usr/lib/jvm/ja va-6-sun/bin/jstat”来提供“jstat”。
使用“/usr/lib/jvm/ja va-6-sun/bin/native2ascii”来提供“native2ascii”。
使用“/usr/lib/jvm/ja va-6-sun/bin/rmic”来提供“rmic”。
使用“/usr/lib/jvm/ja va-6-sun/bin/schemagen”来提供“schemagen”。
使用“/usr/lib/jvm/ja va-6-sun/bin/serialver”来提供“serialver”。
使用“/usr/lib/jvm/ja va-6-sun/bin/wsgen”来提供“wsgen”。
使用“/usr/lib/jvm/ja va-6-sun/bin/wsimport”来提供“wsimport”。
使用“/usr/lib/jvm/ja va-6-sun/bin/xjc”来提供“xjc”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/ControlPanel”来提供“ControlPanel”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/ja va”来提供“ja va”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/ja va_vm”来提供“ja va_vm”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/ja vaws”来提供“ja vaws”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/jcontrol”来提供“jcontrol”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/jexec”来提供“jexec”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/keytool”来提供“keytool”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/orbd”来提供“orbd”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/pack200”来提供“pack200”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/policytool”来提供“policytool”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/rmid”来提供“rmid”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/rmiregistry”来提供“rmiregistry”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/servertool”来提供“servertool”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/tnameserv”来提供“tnameserv”。
使用“/usr/lib/jvm/ja va-6-sun/jre/bin/unpack200”来提供“unpack200”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/amd64/libnpjp2.so”来提供“firefox-ja vaplugin.so”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/amd64/libnpjp2.so”来提供“iceape-ja vaplugin.so”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/amd64/libnpjp2.so”来提供“iceweasel-ja vaplugin.so”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/amd64/libnpjp2.so”来提供“midbrowser-ja vaplugin.so”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/amd64/libnpjp2.so”来提供“mozilla-ja vaplugin.so”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/amd64/libnpjp2.so”来提供“xulrunner-1.9-ja vaplugin.so”。
使用“/usr/lib/jvm/ja va-6-sun/jre/lib/amd64/libnpjp2.so”来提供“xulrunner-ja vaplugin.so”。
看到这一长串输出别慌,它其实是在告诉你:系统正在把每个Ja va工具(比如ja vac、ja va、jar)的符号链接,都指向你指定的那个JDK目录。一张嘴就改完了。
一点心得。 update-ja va-alternatives 这个命令的本质,就是修改 /etc/alternatives/ 目录下相关的符号链接目标。所以理论上,你也可以手动去改那些链接——但手动一个个改未免太折腾,能用命令搞定的事,就交给命令吧。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8