$ tar zxf ibm-java2-sdk-5.0-8.0-linux-i386.tgz
$ sudo mv -t /usr/lib/jvm/ ibm-java2-i386-50/
为目录创建 soft link,采用一个简洁的名字。
$ cd /usr/lib/jvm/
$ sudo ln -s ibm-java2-i386-50 jdk-ibm-5.0
使用 update-alternatives 工具安装该jvm,并设置为系统默认的JVM。
$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-ibm-5.0/bin/java 500
$ sudo update-alternatives --config java
首先,如果系统的 Tomcat 5.5 是通过 apt-get install tomcat5.5 获得的,默认会使用一个名为 jsvc 的工具来启动 Catalina 的服务线程 (而且一般都是启动三个进程)。如果要使用 IBM JDK,必须修改 /etc/init.d/tomcat5.5 脚本,将 DAEMON 改回 catalina.sh。
其次,Tomcat默认的shutdown方法不够“敏捷”。因为它需要使用startup的所有设置重新启动一个JVM来通知之前的进程关闭。众所周知,Tomcat会监听 8005 端口等待接收指令。因此,可以充分发挥Linux上众多的工具优势,直接访问该端口发出 shutdown 指令。
echo SHUTDOWN | nc localhost 8005
强大的 netcat (nc) 命令做这件事情简直是 a piece of cake 。。。
表慌,IBM JDK里头还是带了一部分 com.sun.* 和 sun.* 的类库的。仔细在 $IBM_JRE/lib 里头搜搜看有没有需要的JAR文件。如果找到,直接在 $CATALINA_BASE/bin/setclasspath.sh 中添加到 CLASSPATH 变量即可。
当然,有一部分 SUN 的 Class 会通过 native method 调用动态链接库(Windows里头的DLL,到了Linux上就是so文件)。有时候可能你的系统水土不服刚好缺少哪个文件,可以试试apt-get之类的来安装。
我就遇到了这样的问题,FontManager需要调用native类库,但是Exception trace给出的提示为“javax.servlet.ServletException: fontmanager (libstdc++.so.5: cannot open shared object file: No such file or directory)”。很明显,缺少 stdlibc++.so.5 这个文件,幸亏后来RP极好的通过 apt-get install libstdc++5 解决了。
评论