2009年3月27日星期五

(51)在Ubuntu 8.10 上安装java 6

Java 的安装也是费尽周章。

1. 从sun的网站上下载,得到的是一个bin文件,比较晕.没有找到deb文件啊. 按网友的方法,把这个文件放到桌面上(说是不能在windows分区中执行,我没试),然后执行:
sudo chmod +x jre-6u12.bin
sudo ./jre-6u12.bin
成功执行后,却在桌面生成一个jre-6u12.rpm文件,我晕,早知道下载rpm文件不就行了 :)....
2. 行,我服了,来修理rpm文件,如果你之前没有使用过这个,还行下载一个alien,命令是:

sudo apt-get install alien #alien默认没有安装,所以首先要安装它。
还好安装很快,当然了,这取决于你的网速.现在可以安装了,执行:
sudo alien jre-6u12.rpm #将rpm转换位deb,完成后会生成一个同名的deb文件(这期间,可能需要一些时间,也会出现一些警告,不要理它,等!
行,准备好了,双击那个文件去吧,也可以用命令来完成:
sudo dpkg -i jre-6u12.deb #安装。
3. 完了安装JDK,执行命令:
sudo apt-get install sun-java6-jdk
开始安装后,下载完成后,会出来许可协议,不用看也行,反正你要同意,使用Tab键,移动光标到,回车,安装很快就完成了.


4. 我只装了一个解释器,所以,不用理设置默认的问题,如果你有多个,就需要设置一下:
sudo update-alternatives --config java
如果你像我一样只有一个,它会提示:没什么好配置的,行了.

5. 接下来又是该死的环境变量(我最讨厌这东西了),执行
sudo gedit /etc/environment
后,在打开的文件末尾加上两行:
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun

OK,大功告成了.如果你需要安装浏览器插件,执行:

sudo apt-get install sun-java6-plugin

------------PS-------------

按上面的方法,安装好了,然后,执行
java -version
出来正常的版本号了,高兴了一阵!:)
于是,Copy一个HelloWorld.java里去试试先,谁知道,出现大问题了。一直不明白,也没有解决。到Ubuntu论坛发了帖子, 地址:http://forum.ubuntu.org.cn/viewtopic.php?f=70&t=192177 好心的网友提出了相应的解决办法,但两天了还是没办法解决这个问题。火冒三十距丈啊。删除,重新安装!!
这个问题的根源在于,当我编辑jvm文件时,发现它不存在!于是我新建了一个!

重新安装时,我选择了6u13,直接从sun下载bin文件安装,bin文件处理成rpm,再修理成deb的过程就不重复了,和上面的一样!


------------------------重新安装---------------------------

1. 安装jre6:方法与上面的一样,就是执行生成的jre-6u13-linux-i586.deb;
2. 安装jdk6:类似上面的;
3. 安装相应的组件,就是什么java-doc,java-demo什么的,装全再说!命令是:
sudo apt-get install sun-java6-demo sun-java6-doc sun-java6-source sun-java6-plugin sun-java6-fonts libmyodbc tdsodbc
花时间无数分钟(还好,晚上网络还算正常,不过也真的不快啊:)还不知道Java的最快的源怎么样添加,555555555555,我忍!)

4. 行,安装完了,执行命令试机:
java -version #返回如下结果:
java version "1.6.0_10"
Java(TM) SE Runtime Environment (build 1.6.0_10-b33)
Java HotSpot(TM) Client VM (build 11.0-b15, mixed mode, sharing)

sudo update-java-alternatives -l #命令返回如下结果:
java-6-sun 63 /usr/lib/jvm/java-6-sun

应该说算是正常了。OK!

5. 再找个HelloWord.java来试试吧:
代码:
/* HelloWorld.java */
public class HelloWorld {
public static void main(String arg[]) {
System.out.println("Hello, World!");
}
}

好,保存好了:
javac
HelloWorld.java
竟然提示有错误?不是吧,大哥,这算什么啊.

行了,冷静,冷静,我再冷静.哪里出问题了.
6. 返回去,把环境变量打开看看.
这是我的environment
PATH="/usr/java/jre1.6.0_13/lib:/usr/lib/jvm/java-6-sun/bin:/usr/local/texlive/2008/bin/i386-linux:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
LANGUAGE="en_US:en"
LANG="en_US.UTF-8"
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun

没问题, 好,再看:
我晕, 再加一次,不管了:
sudo gedit /etc/profile #在if之前,加上以下代码:
JAVA_HOME=/usr/lib/jvm/java-6-sun
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JRE_HOME=/usr/lib/jvm/java-6-sun/jre
export JRE_HOME
export CLASSPATH
export JAVA_HOME

再看看
sudo gedit /etc/jvm
打开怎么还是空的啊?天哪,不是吧,为什么会这样啊??

我们要反复的尝试.好,我不管jvm了.我再javac一次.....................成功了?失败不知道为什么,成功也不知道为什么..................

7. 成功生成了HelloWorld.class.
java
HelloWorld
显示效果如下:
Hello, World!,----顺便说一句:该死的java,我服了.

8. 中文化: 按照网友的方法,把中文字体放进去.
------------引用------------
在java安装目录下放进去一个中文字体即可
cd /usr/lib/jvm/java-6-sun/jre/lib/fonts
sudo mkdir newfonts //这个目录名可以自己取,我取的是chfonts
cd newfonts
sudo ln -s /usr/share/fonts/windows/zhunyuan.ttf
(把中文字体 newfonts 目录,windows-您的系统中可以没有这个目录,这个目录是我自己建的,里面放着一些中文体,这个字体根据您系统中有的中文字体连接)
sudo mkfontdir
sudo mkfontscale
------------------引用完------------------
同时,我发现可以把windows里的字体直接过继过去,命令如下:
sudo ln -s /media/WINXP/windows/fonts/simkai.ttf #把楷体复制过去,
sudo ln -s /media/WINXP/windows/fonts/simsun.ttc #宋体,当然了,你不记得这些字体的名字,到打开window/fonts文件夹去找,想要哪个应该都是可以的!!


(呵呵,我也可以修改源程序了!!)

真够晕的啊.

没有评论:

发表评论

欢迎就文章所述观点、问题发表看法和留言。
请勿发表任何有关政治、宗教、成人等敏感性评论,勿发表带有人身攻击性、骂人、脏话等,博主有权删除任何评论,见谅!谢谢!