在Debian 上安装Java环境

时间:2007-09-23 08:51:37   来源:  作者:  点击:次  出处:技术无忧
关键字: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/$.1" ]
then
update-alternatives --verbose --install /usr/bin/$altname $altname $i 500
--slave /usr/share/man/man1/$.1 $.1 $JDK_HOME/man/man1/$.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 你好
{
public static void main(String[] args)
{
System.out.println("你好,java 世界!");
}
}


编译程序:

#javac 你好.java

运行程序:

#java 你好
屏蔽输出:
你好,java 世界!

中文问题,老话题了,改字体路径。
参见:
http://www.linuxsir.org/bbs/showthread.php?s=&threadid=124319&highlight=%BF%F2%BF%F2

附删除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/$.1" ]
then
update-alternatives --verbose --remove-all $altname
update-alternatives --verbose --remove-all $.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
 

相关文章

文章评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面