公司要求在linux环境下搭建javaWeb服务器,通过几天的摸索,在往上搜集了大把资料,终于把jdk、tomcat、mysql数据库装好了。本文将在此过程中遇到的问题总结如下。
一、jdk安装步骤:
1、准备工作:考虑到在电脑中直接装rhel有点风险,笔者是通过vmware虚拟机安装rhel6.3的。在这里要注意下rhel6.3要求的vm版本比较高,我用的是vm8.0.3,如果版本低的话没有rhel的可视化工具。从往上下载的rhel一般都在packages里有大量的应用程序,包括telnet ftp tftp以及mysql、eclipse等。
环境装好后就下载jdk-6u30-linux-i586.bin,最好不要下jdk-6u30-linux-rpm-i586.bin,笔者安装后者时有问题,进度原因没有细究。
2、有的rhel版本已经预安装了jdk,首先检查是否已安装,若安装,要先卸载
所用命令:
查找安装包:rpm -qa|grep gcj
删除已安装的jdk rpm -e[--nodeps] java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
注:--nodeps 强制删除标记
3、在/usr目录下新建文件夹software存放要安装的文件:
mkdir usr/software
通过ftp上传jdk-6u30-linux-i586.bin到/usr/software
注:linux文件传输有许多工具,本文用的是tftp工具,要在rhel上安装tftp客户端(rhel安装盘中有),在本机windows上架设tftp服务器,在rhel中获取文件
命令: tftp –g –r 主机地址 jdk-6u30-linux-i586.bin 文件存放完整路径(/usr/software/jdk-6u30-linux-i586.bin)。其实在桌面模式下,vm已经安装了Vm Waretools,可以在主机和虚拟机之间直接粘贴复制,但笔者任务这就像开车时的手动挡和自动挡,总是感觉月发杂的东西越牛B。
4、修改执行权限 chmod a+xjdk-6u30-linux-i586.bin
5、执行安装 ./jdk-6u30-linux-i586.bin,安装完成后为执行命令简单,修改文件夹名为jdk ,mv jdk1.6.0_30jdk
6、安装结束后,修改/etc/profile文件,配置jdk
Vi /gedit /etc/profile 增加jdk配置信息如下:
#set java
JAVA_HOME=/tmp/software/jdk
JRE_HOME=/tmp/software/jdk
CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
export zh_CN
7、执行start /etc/profile,如果没有错误提示,证明安装成功!
可以通过echo $CLASSPATH查看路径设置
二、常见问题
1、 在修改profile文件时,JAVA_HOME和“=”之间不能有空格,否则会提示错误;
2、 PATH=$JAVA_HOME/bin:$PATH后面的:$PATH表示旧内容,表明这是对path环境变量的补充。
3、 jdk-6u30-linux-rpm-i586.bin包安装时会提示错误,改为jdk-6u30-linux-i586.bin包,安装正常
4、
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
辛苦google了一个小时,终于找到了解决方案
首先要确认的是环境变量的设置是否正确
相信大家都是很细心的,这方面如果有错误也会很容易发现
然而还有一个隐蔽的地方也会产生上述的错误
就是lib和jre/lib文件夹中的rt和tools是否是打包后的形式
如果发现rt.pack 和 tools.pack 那么多半问题就出在这里
解决方法也很简单,只要将相应文件解压成rt.jar 和 tools.jar
可以使用bin里面的unpack200工具
如:unpack200 rt.pack rt.jar
解压后java -version应该就没有问题了~~
ps:在SUSE Linux上也同样可以处理这样的问题。