第一杯咖啡----在Debian 上安装Java环境
blackdown 的jdk 总是比sun 慢了一拍,针对debian包更新太慢,非官方的java-package的生成的.deb不尽人意,一些常用的命令没有加入到path,本文主要参考debian java faq
1、获取jdk.
从sun的官方网站下载最新的jdk 1.5 update2, http://java.sun.com。注意,要下载解压版本。
# su root
切换到 超级用户(也可以用sudo 来取得超级用户权限),进入下载目录
# chmod a+x jdk-1_5_0_02-linux-i586.bin
# ./jdk-1_5_0_02-linux-i586.bin
同意协议.会得到一个jdk-1.5.0目录。
#mkdir /usr/lib/j2se
#mv jdk-1.5.0 /usr/lib/j2se/5.0
#cd /usr/lib
#ln -s /usr/lib/j2se/5.0 java
编辑/etc/mailcap文件,将其中的java web start设置移至文件顶部的,不然在update-mime,自定义的设置会被冲掉
# ----- User Section Begins ----- #
# ----- User Section Ends ----- #
改成如下:
# ----- User Section Begins ----- #
# Java Web Start
application/x-java-jnlp-file; /usr/lib/java/jre/bin/javaws %s
# ----- User Section Ends ----- #
2、解决系统java 依赖关系.
基本上已经安装好了。。。下面解决系统的依赖性。。。
#apt-get install java-common
这时在/usr/share/doc/java-common有debian java的详细文档:
debian-java-faq
debian-java-policy
#cd /usr/share/doc/java-common/dummy-packages/
里面有5 个文件:
java1-runtime-dummy.control
java2-compiler-dummy.control
java2-runtime-dummy.control
java-compiler-dummy.control
java-virtual-machine-dummy.control
首先请确定已经安装好了equivs
# equivs-build java1-runtime-dummy.control
# equivs-build java2-compiler-dummy.control
# equivs-build
java2-runtime-dummy.control
# equivs-build
java-compiler-dummy.control
# equivs-build
java-virtual-machine-dummy.control
生成5个。deb包。。。
#dpkg -i *.deb
#cp /usr/lib/java/jre/plugin/desktop/sun_java.desktop /usr/share/control-center-2.0/capplets/
编辑/usr/share/control-center-2.0/capplets/sun_java.desktop
修改java路径:
[Desktop Entry] Name=Java Comment=Java Control Panel Exec=/usr/lib/java/bin/ControlPanel Icon=/usr/lib/java/jre/plugin/desktop/sun_java.png Terminal=0 Type=Application Categories=Application;Settings;X-Sun-Supported;X-Red-Hat-Base; |
这样就可以通过菜单启动java 控制台了。。。
3、使用alternatives将所有java 命令,man ,和plugin.
最后,为jdk的bin下的命令建立链接,为mozilla安装插件,新建一个shell文件,内容如下:
#!/bin/bash JDK_HOME=/usr/lib/java for i in $JDK_HOME/bin/*; do altname=`basename $i` echo "Processing $altname..." echo "" if [ -x "$i" -a -e "$JDK_HOME/man/man1/${altname}.1" ] then update-alternatives --verbose --install /usr/bin/$altname $altname $i 500 --slave /usr/share/man/man1/${altname}.1 ${altname}.1 $JDK_HOME/man/man1/${altname}.1 else update-alternatives --verbose --install /usr/bin/$altname $altname $i 500 fi done update-alternatives --verbose --install /usr/lib/mozilla/plugins/libjavaplugin.so libjavaplugin.so $JDK_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so 500 #update-alternatives --install /usr/share/gnome/vfolders/Settings/sun-java.desktop sun-java.desktop /usr/lib/java/jre/plugin/desktop/sun_java.desktop 500 |
#sh your_shell
测试:
#java -version
会输出:
java version "1.5.0"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)
#man java
就可以查java的使用方法。。。
编写第一个java,和java打个招呼吧。
#文件名:你好.java class 你好 |
编译程序:
#javac 你好.java
运行程序:
#java 你好
屏蔽输出:
你好,java 世界!
中文问题,老话题了,改字体路径。
参见:
http://www.linuxsir.org/bbs/showthread.php?s=&threadid=124319&highlight=%BF%F2%BF%F2
(原文网址:http://blog.chinaunix.com/opera/showart.php?blogid=1096&id=2501)
附删除java环境链接的脚本:
#!/bin/bash JDK_HOME=/usr/lib/java for i in $JDK_HOME/bin/*; do altname=`basename $i` echo "Processing $altname..." echo "" if [ -x "$i" -a -e "$JDK_HOME/man/man1/${altname}.1" ] then update-alternatives --verbose --remove-all $altname update-alternatives --verbose --remove-all ${altname}.1 else update-alternatives --verbose --remove-all $altname fi done update-alternatives --verbose --remove-all libjavaplugin_oji.so #update-alternatives --verbose --remove-all sun-java.desktop |