由于license的原因,Ubuntu的发行版中不在包含Oracle(Sun)Java 6了,取而代之的是OpenJDK,这是Ubuntu默认的java版本,也是最易于安装。
但是偏偏有些应用特意强调不能使用OpenJDK,而必需使用标准的JDK或者JRE,也即Oracle(Sun)Java,比如最近要基于最新的移动平台Tizen搞开发,在Ubuntu系统下安装Tizen SDK 1.0 Larkspur 时要求必需安装了Java 6(jdk 6 或者jre 6)而不能是OpenSDK(”Oracle Java* v6 or higher version (do not use OpenJDK)“)。
好吧,那就自己安装Oracle(Sun)java吧,在Ubuntu的帮助页面 https://help.ubuntu.com/community/Java 中找到了相应的帮助文档,文档写的很详细。
安装Tizen SDK 1.0 Larkspur之前,其实只要有个java运行环境就行了,即装好了JRE既可,不过考虑到日后开发可能用到,还只直接装一个JDK吧。
文档提供了多种安装方法,用脚本自动安装,或者手动安装。学习起见,选择使用手动安装的方法,一边了解以下具体过程。
其中关于安装 Oracle java 6 jdk的命令如下:
- $ wget http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jdk-6u31-linux-i586.bin
- $ chmod u+x jdk-6u31-linux-i586.bin
- $ ./jdk-6u31-linux-i586.bin
- $ mv jdk1.6.0_31 /usr/lib/jvm/
- $ sudo update-alternatives –install “/usr/bin/java” “java” “/usr/lib/jvm/jdk1.6.0_31/bin/java” 1
- $ sudo update-alternatives –install “/usr/lib/mozilla/plugins/libjavaplugin.so” “mozilla-javaplugin.so” “/usr/lib/jvm/jdk1.6.0_31/jre/lib/i386/libnpjp2.so” 1
……can not open head:no such file……
……can not open title:no such file……
……Request not found……
…….can not open link:no such file…
……can not open lbody:no such file……
…………
……Syntax error:redirection unexpected……“
网上搜罗,竟然还没有人遇到过此问题。试了页面上安装jre的命令,同样出现此问题。无奈之中,用vim编辑器打开一看,大吃一惊,原来下载得到的是一个网页,而并非所要的安装文件,天呢!!!!!!这条网页上提供的这条下载链接
http://download.oracle.com/otn-pub/java/jdk/6u31-b04/jre-6u31-linux-i586.bin
竟然……实在是让人无语啊!好吧!费劲千辛万苦,原来!!!!!!!
老老实实的到Oracle的官网上下载了一个jdk-6u32-linux-i586.bin,一看官网上也有相应的安装说明,一步一步照着做,ok终于搞定了!
这段时间的一些经验表明,在没有什么特殊要求的情况下,不要安装最新版的软件,有可能引起各种问题,而且还不易找到解决办法。另外,遇到问题要冷静,通过错误提示仔细的分析问题发生的原因,找出问题的本质,对症下药,一定要记得向互联网求助,跟你遇到同样问题的人很可能已经有很多很多了,不要动不动就通过重装软件,重启系统,甚至重装系统这样的暴力方式来解决问题,况且,这样的方式往往解决不了问题。最后,不要尽信,蛮信他人或者网络的答案,每个人遇到的情况都可能不同,即使同一情况,也存在着时效问题,有些答案很可能已经过时了,或者很可能跟你的情况还略有区别,我们要做到的就是找到这些差异,根据此时此刻的具体情况来解决具体的问题。再着,好多软件、应用的官方网站上都会有很详细的指导教程,我们最好能遵从从这里的指引,有时候,你可能会发现,在费尽一番周折弄好之后,回头一看,原来人家的官网上早就说明了这个特殊情况或者安装需求以及遇到一些常见问题的解决办法。最后要说的是,一定要认真做好总结,因为相似、甚至相同的问题,日后可能还会遇到!……
更多Ubuntu相关信息见Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2