前几天弄完tomcat没时间记录,今天比较空闲,所以来进行简单总结一下,同时对tomcat启动报错:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
做下总结。方便以后查阅,给自己加深一下印象,同时也希望给出现相同错误的亲们提供一个解决方案。
1.下载jdk及tomcat
?id=33932&ResourceID=61&site=1
2.安装jdk环境
[root@localhost src]# ls
apache-tomcat-6.0.36.tar.gz debug jdk-6u26-dlj-linux-amd64.bin kernels
[root@localhost src]#chmod o+xjdk-6u26-dlj-linux-amd64.bin //先给jdk的other用户增加执行权限x,部分版本在执行此步骤过后,会提示下一步的动作。本版本无提示,我们手动执行下一步
[root@localhost src]#./jdk-6u26-dlj-linux-amd64.bin //执行后会有大堆提示信息,到后面会有如下提示你是否同样执行:
Do you agree to the above license terms? [yes or no]
我们执行 yes
完成后,会在当前目录生成一个新目录:jdk1.6.0_26
[root@localhost src]# ls
apache-tomcat-6.0.36.tar.gz jdk1.6.0_26 kernels
debug jdk-6u26-dlj-linux-amd64.bin
[root@localhost src]#mkdir -p /usr/java/ //新建一个目录,用来搭建jdk环境
[root@localhost src]#mv jdk1.6.0_26 /usr/java/
[root@localhost src]#vim /etc/profile //修改环境变量,在改文件下面添加以下内容:
export JAVA_HOME=/usr/java/jdk1.6.0_26
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOMR/bin
source /etc/profile //使环境变量马上生效
java -version //查看java版本,来观察jdk是否安装成功
3.安装配置tomcat
[root@localhost src]#tar zxvf apache-tomcat-6.0.36.tar.gz
[root@localhost src]# mv apache-tomcat-6.0.36 /usr/local/tomcat_1
[root@localhost src]# cd /usr/local/tomcat_1/
[root@localhost tomcat_1]# ls
bin lib logs RELEASE-NOTES temp work
conf LICENSE NOTICE RUNNING.txt webapps
[root@localhost tomcat_1]# ./bin/startup.sh //启动tomcat
Using CATALINA_BASE: /usr/local/tomcat_1
Using CATALINA_HOME: /usr/local/tomcat_1
Using CATALINA_TMPDIR: /usr/local/tomcat_1/temp
Using JRE_HOME: /usr/java/jdk1.6.0_26
Using CLASSPATH: /usr/local/tomcat_1/bin/bootstrap.jar
[root@localhost tomcat_1]# java //执行java命令
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object //报错,貌似提示在初始化的时候虚拟内存vm错误
[root@localhost tomcat_1]#ps -ef |grep java |grep -v grep //执行后无内容显示,说明无进程
[root@localhost tomcat_1]#netstat -nutpl |grep 8080 //查看tomcat的8080端口是否启动,无内容显示,说明8080端口未启动,香港服务器,也就是说明tomcat未启动起来。百思不得其解!!
[root@localhost tomcat_1]# cat ./logs/catalina.out //查看tomcat的logs日志文件
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
后google,经高人指点,香港服务器,于是乎:
4.解决报错:Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
[root@localhost tomcat_1]# cd /usr/java/jdk1.6.0_26/lib/
[root@localhost lib]# ls
ct.sym htmlconverter.jar jconsole.jar orb.idl tools.pack
dt.jar ir.idl jexec sa-jdi.jar visualvm
[root@localhost lib]#unpack200 tools.pack tools.jar //转换文件类型
[root@localhost lib]# cd /usr/java/jdk1.6.0_26/jre/lib/
[root@localhost lib]# ls
rt.pack //在该目录下面找到该文件,并执行以下命令:
[root@localhost lib]# unpack200 rt.pack rt.jar
[root@localhost lib]# java
Usage: java [-options] class [args…]
(to execute a class)
or java [-options] -jar jarfile [args…]
(to execute a jar file)
……….. //后面还有很多内容,不在此贴出来,意在java命令可以执行。
[root@localhost lib]# /usr/local/tomcat_1/bin/startup.sh //再次尝试启动tomcat
Using CATALINA_BASE: /usr/local/tomcat_1
Using CATALINA_HOME: /usr/local/tomcat_1
Using CATALINA_TMPDIR: /usr/local/tomcat_1/temp
Using JRE_HOME: /usr/java/jdk1.6.0_26
Using CLASSPATH: /usr/local/tomcat_1/bin/bootstrap.jar
[root@localhost lib]# netstat -ntl //查看tomcat的8080端口是否已经启动
Active Internet connections (only servers)
在人生的大海中,我们虽然不能把握风的大小,却可以调整帆的方向。