2008-01-23

 

eclipse3.3 + tomcat5.5.25 启动web服务器错误

在启动tomcat5.5服务器时出错,提示:
atalina.startup.Bootstrap start
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:222)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:410)

eclipse3.3启动器生成的命令是:
M:\Application\Java\jdk1.5.0_14\bin\javaw.exe -Dcatalina.base=M:\Mostone.Personal\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0 -Dcatalina.home=M:\Application\apache-tomcat-5.5.25 -Dwtp.deploy=M:\Mostone.Personal\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps -Djava.endorsed.dirs=M:\Application\apache-tomcat-5.5.25\common\endorsed -classpath M:\Application\apache-tomcat-5.5.25\bin\bootstrap.jar;M:\Application\Java\jdk1.5.0_14\lib\tools.jar org.apache.catalina.startup.Bootstrap start

最终找到原因是:catalina.base不正确而找不到tomcat的lib目录下那些jar文件,如:apache-tomcat-5.5.25\server\lib\catalina.jar等,启动失败.

关于catalina.base和catalina.home这两个参数的描述,我在apache-tomcat-5.5.25\bin\catalina.bat中找到的相关信息是:
rem CATALINA_HOME May point at your Catalina "build" directory.
rem
rem CATALINA_BASE (Optional) Base directory for resolving dynamic portions
rem of a Catalina installation. If not present, resolves to
rem the same directory that CATALINA_HOME points to.
catalina.home应该是Application所在目录,catalina.base是tomcat的安装目录,如果省略catalina.base参数,则使用catalina.home作为tomcat的安装目录.

将VM参数的-Dcatalina.base与-Dcatalina.home互换,启动成功,但eclipse IDE环境下的Server project中配置文件 server.xml 不能载入,载入的是tomcat目录下的 server.xml,影响eclipse自动发布.

我不确定,出现这个问题与安装tomcat是否有关.我的环境是:
OS: Windows XP Pro
JDK: jkd1.5-14(只安装了开发包,PATH变量是手工加的)
tomcat: 5.5.25(下载的是zip包,而不是service安装包)

tomcat解压后,startup成功,但eclipse缺省下run on server出现以上问题,不知道在直接安装service版tomcat情况下是否能成功启动。

时间不早了,昨天没睡好,今晚早点睡,改天折腾吧.

(续上)
今天无意打开Server project目录下的文件,发现catalina.policy和catalina.properties中有运行环境的设置,才猛然想起,这些文件被我覆盖过。因为原来用的是tomcat 6.0,我改过server.xml。

将Servers project删除,重新建立,这次再运行,一切OK。

费了这么多时间,真是冤枉啊,太郁闷了,未能快速找出错误的解决方法,是我不了解eclipse启动的背后,不知道从哪里入手查找问题,不过,翻看E文文档资料,对于我来说还是件难事。

Labels: , ,


Comments: Post a Comment





<< Home

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]